jsf - 如何使用 <f :ajax> to set updated value in managed bean when value of <h:inputText> is changed

标签 jsf

我有一个带有 <h:inputText> 的 JSF 页面.我想设置绑定(bind)到 <h:inputText> 的值当值改变时。
bean :

@ManagedBean
@SessionScope
public class MyBean {

    private String in;
    //getter and setter

}
看法:
<h:inputText value="#{myBean.in}" />
如何使用 <f:ajax>为了这?

最佳答案

只需嵌套 <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);
}
也可以看看:
  • When to use valueChangeListener or f:ajax listener?
  • What values can I pass to the event attribute of the f:ajax tag?
  • 关于jsf - 如何使用 <f :ajax> to set updated value in managed bean when value of <h:inputText> is changed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12786851/

    相关文章:

    java - Primefaces 图表显示使用 poll 组件刷新时的内存泄漏

    jsf - 如何有条件地显示 p :dialog based on backing bean condition

    jsf - JPA更新一对一关联对象导致重复条目异常

    java - 带有 gradle 的 NoClassDefFounderror 异常

    jsf - 如何从 f :selectItems 获取标签和值

    jsf - 渲染 View 错误 : java. lang.IllegalStateException:提交响应后无法创建 session

    jsf - 以编程方式从 JSF 托管 bean 注入(inject) EJB bean

    css - 识别当前选定列表项的 Facelets 策略

    java - JSF 验证消息

    javascript - 将 javascript 库添加/导入到 JSF+Maven 项目中