私の複合コンポーネントには、他の静的なものの中でも、次のようなコマンド ボタンを持つ ui:repeat があります。
<ui:repeat var="article" value="#{cc.attrs.articleList}">
<strong>記事: #{article}</strong>
<h:commandButton id="addToFavs" value="購読" binding="..." type="..." >
<f:setPropertyActionListener value="#{article}" target="..." />
</h:コマンド ボタン >
</ui:繰り返し>
ここで、このイベントを複合インターフェイスで公開して、自分のページでイベント リスナーをアタッチし、f:ajax に結合できるようにします。
ui:repeat の外側にある場合 (つまり、そのようなボタンが 1 つしか存在しない場合)、次のように非常に簡単でした。
<複合:インターフェース>
<composite:actionSource name="addToFavs" targets="#{cc.clientId}:addToFavs" />
<composite:clientBehavior name="ajax" default="true"
event="action" targets="#{cc.clientId}:addToFavs"/>
</composite:インターフェース>
しかし、この場合は失敗します。その ID ( addToFavs ) によるコンポーネントは 1 つではなく、多数あるためです。インターフェイスでこれらのボタンを公開する方法を知っていますか?
よろしく、
プラデュムナ