これが私の複合コンポーネントです:
<composite:interface>
<composite:attribute name="attr1" />
<composite:clientBehavior name="xyz" event="valueChange" targets="chkbox" />
</composite:interface>
<composite:implementation>
<h:panelGrid>
<h:panelGroup>
<h:selectBooleanCheckbox id="chkbox"
value="#{cc.attrs.attr1}">
</h:selectBooleanCheckbox>
</h:panelGroup>
</h:panelGrid>
</composite:implementation>
そして私のページ:
<h:form id="myForm">
<cc:myComp attr1="#{myBean.someAttr}">
<f:ajax render="myform:grid1" event="xyz" listener="{myBean.listenerMethod}"/>
</cc:myComp>
<h:panelGrid id="grid1">
<h:panelGroup>
<h:inputTextarea id="rationale" rows="4" cols="70"
value="#{myBean.rationale}" />
</h:panelGroup>
</h:panelGrid>
</h:form>
以下のエラーが発生します:
<f:ajax>
不明なID'myForm:grid1'が含まれています-コンポーネントchkboxのコンテキストでそれを見つけることができません
コードから削除するrender="myform:grid1"
と、ajax呼び出しは正常に機能しています。基本的に、私の複合コンポーネントから、別のOUTSIDEコンポーネントを参照することはできません。これはどのように発生し、どうすれば解決できますか?