在我的复合组件中,我有一个 ui:repeat,除了其他静态内容外,它还有一个命令按钮,如下所示:
<ui:repeat var="article" value="#{cc.attrs.articleList}"> <strong>文章:#{article}</strong> <h:commandButton id="addToFavs" value="Subscribe" binding="..." type="..." > <f:setPropertyActionListener value="#{article}" target="..." /> </h:commandButton > </ui:repeat>
现在,我想在复合接口中公开这个事件,以便在我的页面中,我可以附加事件侦听器并绑定 f:ajax。
如果它在 ui:repeat 之外(即只有一个这样的按钮),那将非常容易,如下所示:
<复合:接口> <composite:actionSource name="addToFavs" 目标="#{cc.clientId}:addToFavs" /> <composite:clientBehavior name="ajax" default="true" event="action" 目标="#{cc.clientId}:addToFavs"/> </composite:interface>
但在这种情况下失败了,因为该 ID ( addToFavs )没有一个组件,而是一堆组件。你知道我应该如何在界面中暴露这些按钮吗?
问候,
普拉季姆纳