私の複合コンポーネントには、他の静的なものの中でも、次のようなコマンド ボタンを持つ 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 つではなく、多数あるためです。インターフェイスでこれらのボタンを公開する方法を知っていますか?
よろしく、
プラデュムナ