我有这个简单的xhtml:
<h:inputText id="input-nome" value="#{bean.value}" >
<f:ajax listener="#{bean.myListener}" event="keypress" >
</f:ajax>
</h:inputText>
和我的听众:
public void myListener(AjaxBehaviorEvent event){
UIInput input = (UIInput) event.getSource();
System.out.println(input.getValue());
System.out.println(getBean().getName());
}
我想获取当前输入的值,但是在监听器中我总是得到前一个值,例如,如果我键入&#39; a&#39;并且&#39; b&#39;,听众只得到&#39; a&#39;我键入&#39; ab&#39;时的上一个值。如果我输入&#39; abc&#39;,我会得到&#39; ab&#39;。如何获取当前输入文本值?
答案 0 :(得分:0)
将活动从keypress
更改为keyup
。您可以添加execute="@this"
或execute="input-nome"
。
onkeyup:释放密钥时执行的客户端回调 输入元素。