在命令按钮中声明immediate="true"
时采取了什么操作?文档说
布尔值,用于确定动作事件的phaseId,当在“应用请求值”处理真实动作时,在“调用应用程序”阶段时为false。
但是,我不明白。有人可以解释一下吗?
答案 0 :(得分:10)
JSF生命周期包含6个阶段,即:
如果命令按钮具有immediate="true"
,则跳过阶段“过程验证”和“更新模型值”。因此,不会处理转换和验证,也不会更新托管bean中的属性。
但是,如果表单中的UIInput也具有immediate =“true”,那么它的值将在托管bean中转换,验证和更新,因为它将在“应用请求值”阶段发生。
当您使用具有immediate =“true”的按钮时,可以使用“取消”按钮。