我可以看到EL属性存储在组件映射中的StateHelper
和字符串文字中getAttributes()
.什么是生命周期以及为什么需要两个容器?
EL ValueExpression
评估的生命周期中的哪些点?(每次getStateHelper.eval()
被叫?)
StateHelper
为组件开发人员(UIComponent
直接子类而不是标准组件)提供了便利,以便跨请求维护组件的状态.它在JSF视图状态保存中起着不可或缺的作用,底层契约提供的不仅仅是隐藏组件属性的方法.
通过继承StateHelper
,组件开发人员可以更方便钥匙插入saveState
和restoreState
方法StateHolder
,这是应该的方法来保证JSF默认地将Impl的一个组件(及其子组件)有他们的状态正确地持久化(按照所配置的状态省电模式).
与getAttributes()
map 相比,map基本上是一个组件变量的藏匿处,并且在单个请求的生命周期中大部分是相关的.除了保留东西之外,它不提供其他服务.
ValueExpression
在组件的生命周期中评估至少 2倍:RESTORE_VIEW
和UPDATE_MODEL_VALUES
阶段,原因显而易见:第一个给出适当的组件呈现,第二个是将经过验证和转换的值提交给支持bean
归档时间: |
|
查看次数: |
1541 次 |
最近记录: |