2

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

よろしく、

プラデュムナ

4

1 に答える 1

2

誰かが私がそれを達成できるかどうか知りたい場合に備えて、この投稿を私の最善の推測で更新します。

いいえ、できませんでした。無理そうです。複合コンポーネントに関連する ID がコンポーネント作成者にアプリオリに知られているコンポーネントのみを公開できます。

于 2010-06-23T12:01:08.380 に答える