版本:
JSF 2.0
根据下面给出的代码清单,我有以下问题:
1)在第二种情况下,我认为bean.select
setter方法不会被调用,但它会被调用。
为什么这样,即使immediate="true"
跳过进程验证,更新模型值并调用应用程序阶段,bean.setSelect
将发生在
更新模型值阶段?
2)第二种情况下是否会跳过h:selectBooleanCheckBox
的验证,如果有的话?
3)a4j:ajax
的文档说明immediate="true"
,将在“应用请求值”阶段调用侦听器或操作,而不是
调用应用程序。然后调用哪个阶段设置器方法#{bean.select}
?
清单1:
<h:form>
<h:selectBooleanCheckBox value="#{bean.select}">
<a4j:ajax event="click" execute="@this" render="formId">
</a4j:ajax>
</h:selectBooleanCheckBox>
</h:form>
清单2:
<h:form id="formId">
<h:selectBooleanCheckBox value="#{bean.select}">
<a4j:ajax event="click" execute="@this" render="formId" immediate="true">
</a4j:ajax>
</h:selectBooleanCheckBox>
</h:form>