次の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"/>