1

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」の値を変更します。

ここで何が欠けているか分かりますか?

どうもありがとう :)

4

0 に答える 0