JSFとhtmlテーブルを使用してテーブルコンポーネントを作成しているため(他の面のテーブルは含まれていません)、コレクションがパラメーターとして取得され、テーブルの内容が反復されて表示されます。
クリックするとアイテムを削除する「削除」リンクがあり、正常に機能しています。私の問題は、アイテムが削除された後、テーブルコンポーネントを自己更新する必要があることです。
レンダリングで @form を使用すると機能しました。しかし、コンポーネントを任意のページに統合する場合、これは問題になります。「削除」リンクをクリックしてテーブルコンポーネントを自己更新するアイデアはありますか? あなたの考えを教えてください。
<a4j:commandLink id="removeSelection" actionListener="#{cc.attrs.rowRemoveEventListener}" render="@form #{cc.attrs.renderOnRemove}" styleClass="st-remove-link" onclick="">
<f:param name="rowKey" value="#{rowKey}"/>
<span class="link-text">Remove</span>
<a4j:ajax event="click" render="#{cc.clientId}" />
</a4j:commandLink>
完全なコンポーネント マークアップ:
<div id="#{cc.clientId}">
<--stylesheet link here-->
<h:panelGroup id="simpletablepanel" layout="block">
<a4j:outputPanel id="simpletablebody" layout="block">
<table>
<tr>
<td>
<span>value</span>
</td>
<td>
<a4j:commandLink id="removeSelection"
actionListener="#{cc.attrs.rowRemoveEventListener}"
render=":#{cc.clientId} #{cc.attrs.renderOnRemove}">
<f:param name="rowKey" value="#{rowKey}"/>
<span>Remove</span>
</a4j:commandLink>
</td>
</tr>
</tbody>
</ui:fragment>
</table>
</a4j:outputPanel>
</div>