I have build a composite component witch looks something like this:
<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>
The compent displays the current label correctly.
<xyz:comp id="idMyComponent" label="#{someBean.text}"/>
...
<a4j:ajax ... render="idMyComponent" />
...
Now when the action is preformed nothing happens. However when I add a Postfix to the ID in the component it works fine (see below).
...
<composite:implementation>
<h:panelGroup id="#{cc.attrs.id}Label">
...
And define the ID in render with the postfix:
<xyz:comp id="idMyComponent" label="#{someBean.text}"/>
...
<a4j:ajax ... render="idMyComponentLabel" />
...
Can some on explain to me why it only works when I add a postfix to the ID in h:panelGroup
?