我有这样的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>


案例一:带有AjaxBehaviorEvent的ajax侦听器方法

public void increment(AjaxBehaviorEvent event) {
        count++;
    }


案例二:没有AjaxBehaviorEvent

 public void increment() {
       count++;
}


在这两种情况下,都将调用侦听器并执行计数器工作以增加对keyup的计数。那么,什么时候才需要使用AjaxBehaviorEvent以及什么时候不需要使用?

最佳答案

您可以将多个ajax事件绑定到同一方法,并使用getSource()中的AjaxBehaviorEvent来了解哪个组件触发了该事件。

09-27 17:25