[英]How to use <f:ajax> to set updated value in managed bean when value of <h:inputText> is changed
我有一个带有<h:inputText>
的 JSF 页面。 我想在更改值时设置绑定到<h:inputText>
的值。
豆:
@ManagedBean
@SessionScope
public class MyBean {
private String in;
//getter and setter
}
看法:
<h:inputText value="#{myBean.in}" />
我该如何使用<f:ajax>
?
只需将<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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.