我的XHTML是这样的
<h:form id="form">
<h:panelGrid columns="3">
<h:outputText value="Keyup: " />
<p:inputText id="counter">
<p:ajax event="keyup" update="out"
listener="#{counterBean.increment}" />
</p:inputText>
<h:outputText id="out" value="#{counterBean.count}" />
</h:panelGrid>
</h:form>
案例一:ajax监听器方法与AjaxBehaviorEvent
public void increment(AjaxBehaviorEvent event) {
count++;
}
情形II:没有AjaxBehaviorEvent
public void increment() {
count++;
}
在这两种情况下,侦听器将被调用并执行计数器工作以增加keyup
的计数。所以,什么时候我需要使用AjaxBehaviorEvent
,什么时候我不需要使用?
您可以将多个ajax事件绑定到同一个方法,并使用AjaxBehaviorEvent
的getSource()
来知道是哪个组件触发了该事件