4

我有一个带有<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>

它会在 HTML DOM 事件发生时提交该值change(即当字段被编辑然后模糊时)。

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 回答