首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JSF中值转换究竟是什么时候发生的?

在JSF中值转换究竟是什么时候发生的?
EN

Stack Overflow用户
提问于 2012-10-11 09:59:22
回答 1查看 1.7K关注 0票数 3

我曾谘询过几个权威人士,但他们要么真的互相矛盾,要么我误解了他们,或者可能发生了不止一个转变?JSF的1.x和2.x版本之间有区别吗?

IBM邮报声明转换发生在应用请求值阶段(第2阶段)中。

BalusC发帖表示这里默认转换发生在流程验证阶段(第3阶段)中。

Oracle JEE6教程意味着转换发生在更新模型值阶段(第4阶段)中,在对此阶段的描述中这样说:

如果本地数据不能转换为bean属性指定的类型。

另一方面,说明同一教程中的各个阶段的图形显示了过程验证阶段更新模型值阶段所产生的转换错误。

上述所有帖子都指出,如果将immediate属性设置为true,则在应用请求阶段中处理所有转换和验证。这意味着该阶段的转换不是默认行为。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-11 10:37:23

来自UIInput文件强调地雷

在请求处理生命周期的应用请求值阶段,该组件的解码值(通常但不一定是字符串)必须使用setSubmittedValue()存储(但尚未转换为)。如果组件希望指示未提交特定值,则可以不执行任何操作,也可以将提交的值设置为空。 默认情况下,在请求处理生命周期的流程验证器阶段,提交的值将被转换为typesafe对象,如果验证成功,则使用setValue()存储为本地值。但是,如果立即属性设置为true,则将在Apply请求值阶段结束时进行此处理。 在请求处理生命周期的呈现响应阶段,输出的转换与UIOutput一样。JSF1.x和2.x版本之间没有区别。

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

https://stackoverflow.com/questions/12836955

复制
相关文章

相似问题

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