1 つのタブ内で、ボタンをクリックして「h:groupPanel」を表示できます。これを行ってアクティブなタブを変更すると、表示されたばかりの groupPanel がまだ表示され、現在のタブの上に表示されます。
tabView のコードは次のとおりです。
<p:tabView dynamic="true" cache="false" id="characterTabView">
<p:tab title="View" id="viewTab">
<ui:include src="/sections/character/view.xhtml" />
</p:tab>
<p:tab title="Upgrade" id="upgradeTab">
<ui:include src="/sections/character/upgrade.xhtml" />
</p:tab>
</p:tabView>
「アップグレード」ページは次のようになります
<h:panelGroup id="searchCompetencies" rendered="#{characterBean.rightPanel == 'searchResult'}">
<h:panelGroup styleClass="characterUpgradeLeft">
<ui:include src="/sections/character/searchViewLeft.xhtml" />
</h:panelGroup>
<h:panelGroup id="competencyCreation" rendered="#{characterBean.rightPanel == 'competencyCreation'}">
<!-- The panel that is made visible -->
</h:panelGroup>
コンポーネントが表示されるページ (searchViewLeft):
<p:fieldset legend="Create competency" styleClass="createCompetencyStart">
<h:form>
<p:commandButton value="Create competency" type="button" onclick="toggleCreate()" update="upgradeTab" />
</h:form>
</p:fieldset>
ここで、「toggleCreate」は「characterBean.rightPanel」の値を変更します。
ここで何が欠けているか分かりますか?
どうもありがとう :)