如何在复合组件

时间:2015-06-29 14:02:46

标签: jsf jsf-2.2 composite-component

可能是我对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。:对不起我的英语......

0 个答案:

没有答案
相关问题