私のセットアップは次のとおりです。別のコンポーネント(taskEntry)内に複合コンポーネント(taskEntry)があります。
<ul class="tableView">
<ui:repeat value="#{cc.attrs.taskList}" var="task">
<jid1:taskEntry task="#{task}" />
</ui:repeat>
</ul>
タスク エントリは次のように定義されます。
<li>
<h:outputText value="#{cc.attrs.task.title} " />
<h:commandLink actionListener="#{cc.attrs.taskBean.toggle(cc.attrs.task)}">
<f:ajax execute="@this" render="??" />
</h:commandLink>
</li>
どの Id をレンダリングすればよいか教えていただけますか?
「li」内に「id」を定義すると (例: panelGroup)、最初の ajax 呼び出しは期待どおりに機能し、2 番目の呼び出しは何もせず、3 番目の呼び出しで JS エラーが発生します。「li」を囲むパネルグリッドを追加しても、パネルグリッド定義がまったくレンダリングされません。リスト全体を再レンダリングするのではなく、jid1:taskEntry だけをレンダリングしたい
3 回目のクリックで表示されるエラーは次のとおりです。
java.lang.IllegalStateException: Component ID j_idt37:j_idt52:j_idt55:j_idt61 has already been found in the view.