4

が付いたJSFページがあり<h:inputText>ます。値が変更されたときにバインドされた値を設定したい<h:inputText>

豆:

@ManagedBean
@SessionScope
public class MyBean {

    private String in;
    //getter and setter

}

意見:

<h:inputText value="#{myBean.in}" />

これにはどのように使用でき<f:ajax>ますか?

4

1 に答える 1

11

<f:ajax>タグ内にタグをネストするだけ<h:inputText>です。

<h:inputText value="#{myBean.in}">
    <f:ajax />
</h:inputText>

changeHTML DOMイベントが発生したとき (つまり、フィールドが編集されてからぼやけたとき)に値を送信します。

event属性はすでにデフォルトで に設定されているvalueChangeため、省略されています。そのexecute属性はすでにデフォルトで に設定されて@thisいるため、省略されています。完了時に他のコンポーネントを更新する場合は、render属性を設定します。例えば

<h:inputText value="#{myBean.in}">
    <f:ajax render="msg" />
</h:inputText>
<h:message id="msg" />

リスナーが正常に設定されたときにリスナーを呼び出したい場合は、次のlistener属性を設定します。

<h:inputText value="#{myBean.in}">
    <f:ajax listener="#{myBean.changeIn}" />
</h:inputText>
public void changeIn() {
    System.out.println("in has been changed to " + in);
}

以下も参照してください。

于 2012-10-08T19:19:35.620 に答える