我正在努力让我的 bean 使用新的页面值进行更新。我的页面上有两个提交按钮,我根据页面处于何种模式的布尔值切换显示哪个按钮。当我的页面仅处于更新状态(无验证)时,我显示具有即时=“真”的提交按钮. 当页面处于进程模式(验证)时,我会显示没有立即 =“true”的提交按钮。我遇到的问题是当我处于更新模式(无验证)时,输入字段中的值没有在 bean 中设置。在这种模式下,我要做的就是按原样保存页面并退出。不需要验证,因为该页面上的信息还没有准备好处理或“真正使用”,如果你愿意的话。也就是说,如果我的页面处于进程模式(验证),那么一切都会按预期工作。值已提交并保存。
我还没有发布任何代码,因为我正在尝试做的事情并没有什么特别之处。我只是有一个指向简单 getter/setter 的值绑定。我的 bean 在 @ViewScope 中。
我尝试使用 BalusC 在他出色的博客文章中的示例:debug-jsf-lifecycle。在单击带有 immediate="true" 的提交按钮时,将 immediate="true" 放在输入字段上没有影响。尽管如此,我理解它的方式是 UICommand 上的 immediate=”true” 告诉应用程序是否跳过验证。将其放在输入字段上只会使验证更快地发生。我错过了什么吗?
有任何想法吗?对此的任何和所有帮助都非常感谢!
应用程序细节:
JSF 2.0.3
Tomcat 6.0.14