1

我有以下情况:

    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,是否也可以调用绑定方法?

非常感谢!

4

0 回答 0