我有以下情况:
form1.xhtml:
<h:commandButton action="#{bean1.action1}" /> <!-- action1 returns "form2" -->
form2.xhtml:
<h:form binding="#{bean2.init}">
...
<h:commandButton action="#{bean2.action2}" /> <!-- *** -->
</h:form>
Bean2.java:
@Named
Bean2{
public Object getInit(){
return null;
}
public void setInit (Object i){
//do something
}
提交form1时,在第 6 阶段 RENDER_RESPONSE 期间执行绑定方法 setInit()(在 action1() 返回“form2”之后)并显示 form2。
提交form2时,如果 action2() 返回“null”,则在第 1 阶段 RESTORE_VIEW 期间执行 setInit()。但如果 action2() 返回“form2”而不是 null,则该方法也会在第 6 阶段被调用。
你知道为什么吗?如果操作返回 null,是否也可以调用绑定方法?
非常感谢!