1

次のJSF2.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);
    }

ボタンをクリックしても、入力値はサーバーに送信されません。

入力値をサーバーに送信する方法はありますか(入力を別の形式で保持しながら)?

同じフォームからのみフィールドを送信できる場合、次の2つの違いは何ですか?

<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 に答える