2010-06-19 73 views
1

在我的複合成分,我有一個用戶界面:重複了,其中包括靜態的東西,一個命令按鈕,如下所示:JSF 2複合:ActionSource接口暴露在UI CommandButton控件:重複

 
<ui:repeat var="article" value="#{cc.attrs.articleList}"> 
    <strong>Aricle: #{article}</strong> 
    <h:commandButton id="addToFavs" value="Subscribe" binding="..." type="..." > 
     <f:setPropertyActionListener value="#{article}" target="..." /> 
    </h:commandButton > 
</ui:repeat> 

現在,我我想在複合界面中公開這個事件,這樣在我的頁面中,我可以附加事件監聽器並綁定f:ajax。

如果這是UI之外:重複(即,這個世界只有一個這樣的按鈕),那會是很容易的,就像這樣:

 
<composite:interface> 
    <composite:actionSource name="addToFavs" targets="#{cc.clientId}:addToFavs" /> 
    <composite:clientBehavior name="ajax" default="true" 
           event="action" targets="#{cc.clientId}:addToFavs"/> 
</composite:interface> 

但失敗在這種情況下,因爲沒有通過該ID的一個組件(addToFavs),而是一堆。你知道我應該如何在界面中公開這些按鈕嗎?

問候,

Pradyumna

回答

2

更新這篇文章與我最好的猜測,以防萬一有人想知道如果我能實現它:

不,我不能這樣做。看起來我們做不到。我們只能公開組件作者先驗知道的相對於複合組件的ID。