我咨询了几个权威来源,但要么他们真的相互矛盾,要么我误解了他们,或者可能不止一次发生了转变?JSF 的 1.x 和 2.x 版本之间有区别吗?
这篇IBM 帖子指出,转换发生在应用请求值阶段(阶段 2)。
BalusC的这篇文章在这里说默认转换发生在流程验证阶段(阶段 3)。
Oracle JEE6 教程暗示转换发生在更新模型值阶段(第 4 阶段),在此阶段的描述中说:
如果本地数据无法转换为 bean 属性指定的类型..
另一方面,说明同一教程中的各个阶段的图形显示了过程验证阶段和更新模型值阶段出现的转换错误。
上述所有帖子都指出,如果该immediate
属性设置为 true,则所有转换和验证都在Apply 请求阶段处理。这意味着该阶段的转换不是默认行为。
谢谢