Jsf 如何检测h:inputText控件的文本输入
我有一个使用Prime Faces 3.3构建的JSF页面,需要能够在用户开始在输入文本字段中键入文本时启用组件。文本字段被实现为一个h:inputText组件——我尝试了各种监听器,例如 valueChangeListener=“#{managedbean.onValueChange}” 但值仅在表单提交后接收,而不是在文本更改时接收。 有没有办法检测到这一点 谢谢这就是你要做的 XHTML页面Jsf 如何检测h:inputText控件的文本输入,jsf,primefaces,Jsf,Primefaces,我有一个使用Prime Faces 3.3构建的JSF页面,需要能够在用户开始在输入文本字段中键入文本时启用组件。文本字段被实现为一个h:inputText组件——我尝试了各种监听器,例如 valueChangeListener=“#{managedbean.onValueChange}” 但值仅在表单提交后接收,而不是在文本更改时接收。 有没有办法检测到这一点 谢谢这就是你要做的 XHTML页面 <h:form id="form"> <h:panelGrid c
<h:form id="form">
<h:panelGrid columns="2">
<p:inputText id="counter">
<p:ajax event="keyup"
listener="#{counterBean.increment}"/>
</p:inputText>
</h:panelGrid>
</h:form>
每当您键入某个内容时,它都会调用
increment
方法。public void onValueChange(ValueChangeEvent事件){UIComponent component=event.getComponent();String clientId=component.getClientId();if(“SelectItemComponent.equals(clientId)//在此处启用另一个组件}if(“TextFieldComponent.equals”)(clientId)){String textFieldValue=(String)event.getNewValue();//在此处启用另一个组件}}很难说你想做什么。在你的问题中发布你的xhtml和java代码。我在页面上有一个输入文本字段-我如何添加一个侦听器,以便当用户输入一些文本时,中间层会立即得到通知,一些代码可以执行。谢谢-这是一个很好的解决方案,对我来说很有效,但它发送的是对服务器的调用太多-是否有任何事件可以捕获以使其更简单?这是您的要求。您希望如何使其更简单?
import java.io.Serializable;
public class CounterBean implements Serializable{
public void increment() {
//do something
}
}