1

考虑以下 JSF 2.x 标记:

<h:form id="form1">

    <h:inputText id="input" value="#{testBacking.input}"/> 

</h:form>


<h:form id="form2">

    <h:commandButton value="go" action="#{testBacking.go()}">
        <f:ajax execute="@all" render="output"/>
    </h:commandButton>               
    <h:outputText id="output" value="#{testBacking.input}"/>

</h:form>

动作方法如下:

public void go() {
        System.out.println("go() is called");
         System.out.println("input: "+ input);
    }

单击按钮时,输入值不会提交给服务器。

有什么方法可以将输入值提交给服务器(同时将输入保持在不同的形式)?

如果只能从同一个表单提交字段,那么以下两者有什么不同呢?

<f:ajax execute="@all" render="output"/>
<f:ajax execute="@form" render="output"/>
4

1 回答 1

3

快速搜索会jsf execute=@all vs execute=@form产生一些结果:

本质上,JSF 处理工作正常,但 HTML 只发送包含 ajax 的表单(我怀疑 HTML 为每个表单指定了一个单独的请求)。

于 2012-09-14T07:59:48.873 回答