首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于JSP作为视图定义技术的JSF回发评论的困惑

关于JSP作为视图定义技术的JSF回发评论的困惑
EN

Stack Overflow用户
提问于 2012-10-28 09:21:26
回答 1查看 179关注 0票数 1

在名为“托管Beans和”的第5章中,作者在书“JavaServerFaces2.0--完整的参考”的“检查EL的演变:Deferrred与即时表达式”一节中写道:

即时评估对于JSP来说是完美的,但是JSF需要更多的东西。JSF引入了请求处理生命周期(在第3章中描述),该生命周期控制表单提交时发生的事情(回发)。在偏置过程中,呈现回发标记的JSP页面不为JSF运行时所知,也不可用于JSF运行时;因此,该页面中的任何表达式都不可用,因为在呈现页面时会立即对其进行评估。

为什么作者说“在后置过程中,呈现回发标记的JSP页面不为人所知”?这不正是JSF生命周期中恢复视图阶段的责任吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-28 12:45:33

不,作者的意思是没有办法以编程方式找到${} EL表达式引用,以便以编程方式或单独地对它们进行评估。在基于JSP输出构建JSF组件树之后,JSP引擎已经对它们进行了评估。在${}组件树中没有对JSF表达式的引用。JSP表达式不被JSP识别,因此不是由#{}引擎直接计算的。通过这种方式,JSF可以找到它们并将它们转换为ValueExpression引用,这允许getValue()setValue()等人以编程方式进行评估。

所以,想象一下你有一个

代码语言:javascript
复制
<h:inputText value="${bean.input}" />

然后,在视图构建期间,${}将立即由JSP计算,并且value属性最终将是已经计算过的值(如getter获得的)。JSF组件的值最终只能表示“文字”值,这是计算的结果。为了能够在回发上设置模型值,无法找到完整的原始EL表达式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13107657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档