可能是我对jsf 2.2规范犯了一个根本性错误,如果是这样,我想学习正确解决我的问题。我使用mojarra 2.2.9 immplementation,primemafaces 5.0。
我有一个带输入的复合组件,它始终处理更改事件:
<cc:interface>
<cc:attribute name="value" type="java.lang.String" required="true"/>
<cc:clientBehavior name="change" event="change" targets="input"/>
</cc:interface>
<cc:implementation>
<span id="#{cc.clientId}">
<p:inputText value="#{cc.attrs.value}">
<p:ajax update="@this"/>
</p:inputText>
/* some ather component */
</span>
</cc:implementation>
现在在某些情况下我想使用额外的监听器并更新cc之外的一些组件,比如clientBehavior解决方案:
<my:inp value="#{bean.value}">
<p:ajax event="change" listener="#{bean.listener}" update="someComponentOnPage" process="@this">
</my:inp>
使用该解决方案,我在1个更改事件上有2个ajax调用:第一个在cc内部,第二个在外部。是否有一个解决方案只调用一次ajax(如果存在clientBehavior然后不使用内部的ajax)?
P.S。:对不起我的英语......