【发布时间】:2013-08-25 03:20:22
【问题描述】:
我已经构建了一个看起来像这样的复合组件:
<composite:interface>
<composite:attribute name="id" required="false" />
<composite:attribute name="label" required="true" />
</composite:interface>
<composite:implementation>
<h:panelGroup id="#{cc.attrs.id}">
<fieldset class="fieldset"><legend>${cc.attrs.label}</legend></fieldset>
</h:panelGroup>
</composite:implementation>
compent 正确显示当前标签。
<xyz:comp id="idMyComponent" label="#{someBean.text}"/>
...
<a4j:ajax ... render="idMyComponent" />
...
现在,当执行该操作时,什么也没有发生。但是,当我将 Postfix 添加到组件中的 ID 时,它可以正常工作(见下文)。
...
<composite:implementation>
<h:panelGroup id="#{cc.attrs.id}Label">
...
并在render中用后缀定义ID:
<xyz:comp id="idMyComponent" label="#{someBean.text}"/>
...
<a4j:ajax ... render="idMyComponentLabel" />
...
有人可以向我解释为什么它只在我向h:panelGroup 中的 ID 添加后缀时才有效吗?
【问题讨论】:
标签: ajax jsf-2 composite-component