JSF的托管bean是一个有状态的bean

时间:2015-01-01 07:12:19

标签: jsf jsf-2

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

JSF tutorial

它说:

  

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

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

1 个答案:

答案 0 :(得分:2)

术语" 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开始。