【问题标题】:Is JSF's Managed bean a stateful beanJSF 的托管 bean 是有状态 bean
【发布时间】:2015-02-28 00:09:25
【问题描述】:

我正在尝试了解 JSF 的生命周期,并且正在阅读以下教程:

JSF tutorial

上面写着:

视图包含所有的 GUI 组件,并且有很多 JSF 的状态管理来跟踪视图的状态——通常 使用 HTML 隐藏字段。

我很困惑,JSF 应用程序是在与客户端交互期间保持该托管 bean 的状态,还是它使用 HTML 隐藏字段,并模拟有状态 bean。

【问题讨论】:

标签: jsf jsf-2


【解决方案1】:

术语“JSF 状态”不涉及托管 bean 属性(模型值)。它涉及到 UI 组件属性,例如 requiredvalidimmediatedisabledreadonlyrendered 等。这基本上只被一个隐藏输入字段引用,而不是多个字段作为该教程似乎暗示。隐藏的输入字段是名称中带有javax.faces.ViewState 前缀的字段。

从技术上讲,JSF 托管 bean 始终是有状态的。状态性通过是否具有可变实例变量来表示。 Javabeans 基本上总是可变的,因此是有状态的。然而,JSF 托管 bean 状态不存储在“JSF 状态”中。 JSF 托管 bean 只是存储在服务器的内存中,通常作为 HTTP 请求、会话或应用程序的属性。

另见:


与具体问题无关,您正在阅读的教程是针对 JSF 1.x 的教程。 JSF 2.x 是在 5 年前推出的。如果是开发人员教程,请始终注意发布日期以及它处理的版本。您可以通过our JSF wiki page 开始。

【讨论】:

  • 请我知道我的问题不属于这个主题,但我相信您的建议,我想知道您对使用 JSF 可视化编辑器的看法是否是一种好习惯?提前致谢
猜你喜欢
  • 2023-03-05
  • 2016-07-09
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 2012-10-13
  • 2011-07-10
  • 2012-10-03
  • 1970-01-01
相关资源
最近更新 更多