h:panelGroup パネルをレンダリングするページがあります。これらのパネルは、起動時にプラグイン レジストリに登録されたプラグインとして認識されます。プラグイン API の一部はカスタム jsf コンポーネントであり、拡張ポイント用に登録されたプラグインを取得し、それらの facelet テンプレートをパスでインクルードします。
<c:forEach items="#{pluginRegistry.getPlugins(point)}" var="extension">
<ui:include src="#{extension.path}" />
</c:forEach>
パネルを含めたページは次のようになります。
<h:panelGrid id="dashboard" columns="3">
<cmf:insertPageFragments point="dashboardExtensionPoint" />
</h:panelGrid>
すべてのパネルには、以下のような facelet テンプレートがあります。
<rich:panel id="caseDetailsPanel" header="panel label">
<!-- panel content -->
</rich:panel>
問題は、pluginsRegistry によって返されるリストの最初のパネルが、たとえば formId:caseDetailsPanel のような提供された ID でページにレンダリングされることです。それらの残りは formId:j_idt223 のような ID を生成しました !!! 明らかに、一部のパネルを再レンダリングしたい場合、それはできません。
これは、環境が jboss AS 7.1 で JSF 2.1、richfaces 4.2.3.Final の場合に発生します。jboss-eap-6.1 にデプロイすると、すべて問題ないように見えますが、今のところ、この jboss バージョンを使用できません。
この問題を回避する方法について何か提案はありますか?