Jsf 无状态模式下的JSTL和绑定

Jsf 无状态模式下的JSTL和绑定,jsf,jsf-2.2,jsf-stateless,Jsf,Jsf 2.2,Jsf Stateless,摘自一本书的摘录 对于无状态视图,组件树不能动态 生成/更改(例如,JSTL和绑定在中不可用) 无状态模式)。无法动态创建/操作视图 我完全理解无状态登录的概念 我不明白的是作者的观点,JSTL和绑定在无状态模式下不可用。请澄清。作者似乎对自己感到困惑,或者过于笼统 组件树当然仍然可以动态生成/更改。这不依赖于有状态/无状态模式。有状态模式的唯一区别是,这些动态操作在JSF状态下不会被记住,因此无法在回发中恢复 如果这些动态更改是在视图构建期间由非用户事件(如通过绑定属性引用的请求范围bean的

摘自一本书的摘录

对于无状态视图,组件树不能动态 生成/更改(例如,JSTL和绑定在中不可用) 无状态模式)。无法动态创建/操作视图

我完全理解无状态登录的概念


我不明白的是作者的观点,JSTL和绑定在无状态模式下不可用。请澄清。

作者似乎对自己感到困惑,或者过于笼统

组件树当然仍然可以动态生成/更改。这不依赖于有状态/无状态模式。有状态模式的唯一区别是,这些动态操作在JSF状态下不会被记住,因此无法在回发中恢复


如果这些动态更改是在视图构建期间由非用户事件(如通过
绑定
属性引用的请求范围bean的
@PostConstruct
postAddToView
事件侦听器方法)启动的,则在无状态模式下,它将继续正常工作。它将被重新执行。但是,如果方法逻辑反过来依赖于某些用户控制的变量/操作,例如在以前的回发期间调用的请求参数或操作,或者执行得太晚,例如在
preRenderView
事件期间,这样就不能再保证视图在后续回发的apply request values(应用请求值)阶段与呈现要提交的表单时变得相同。在这种情况下,与状态视图相比,处理表单提交的行为可能会“出乎意料地”不同。

作者正是Anghel Leonard,摘要摘自《掌握Java Server Faces 2.2》一书的第9章,我会让他知道:)尽管如此,我还是很荣幸能注意到这一点。