0

「panelTabbedPane」を使用しており、異なる処理要素を持つ 3 つのタブを作成しました。1 番目のタブで詳細を完了し、2 番目と 3 番目のタブに切り替えると、問題なく動作します。しかし、3 番目のタブから 1 番目または 2 番目のタブに切り替えると、ページ全体の更新とすべてのデータの読み込みが再び発生します。パフォーマンスに大きな打撃を与えます。誰でも私を助けることができますか?

 <t:panelTabbedPane enabledOnUserRole="true"
                binding="#{ABCController.tabSet}" serverSideTabSwitch="true"
                styleClass="tabbedPane" activeTabStyleClass="activeTab"
                inactiveTabStyleClass="inactiveTab"
                disabledTabStyleClass="disabledTab" activeSubStyleClass="activeSub"
                tabContentStyleClass="tabContent"
                immediateTabChange="false">

                <t:panelTab id="panelTab1" disabled="#{abc.disableTabOne}"
                    label="#{abc.tab1LabelTxt}">
                    <jsp:include page="./test1.jsp"></jsp:include>
                </t:panelTab>

                <t:panelTab id="panelTab2"  disabled="#{abc.disableTabTwo}"
                    label="#{abc.tab2LabelTxt}">
                    <jsp:include page="./test2.jsp"></jsp:include>
                </t:panelTab>

                <t:panelTab id="panelTab3" disabled="#{abc.disableTabThree}"
                    label="#{abc.tab3LabelTxt}" >
                    <h:outputText rendered="#{!abc.downloadView}">
                       <jsp:include page="./test3.jsp"></jsp:include>
                    </h:outputText>
                    <h:outputText rendered="#{abcn.downloadView}">
                        <jsp:include page="./test4.jsp" />
                    </h:outputText>
                </t:panelTab>

                <t:tabChangeListener
                    type="org.portlets.controller.ABCController" />
            </t:panelTabbedPane>
4

1 に答える 1

0

ドキュメントから:

即時タブ変更

serverSideTabSwitch = true の場合、タブ間の変更の前にプロセスの検証とモデルの更新フェーズを実行する必要があるかどうかを定義します (が false の場合、切り替えは別の方法で行われるため、このプロパティは何の効果もありません)。このプロパティが false に設定されている場合、フォーム内のすべての入力フィールドが有効な場合 (このパネル外の入力コンポーネントを含む)、タブの変更のみが行われることに注意してください。デフォルトでは true であるため、両方のフェーズは実行されません。

あなたが持っているのでserverSideTabSwitch=true、タブの変更は、あなたが観察した要求/応答サイクルによって行われます。ただし、 を設定するimmediateTabChange=falseと、利用可能なすべてのタブにアクセスした後にのみ発生します。設定してみてくださいserverSideTabSwitch=false(ただし、タブデータが最終的にどのような状況で送信されるかはわかりませんが、自分で試したことはありません)。

于 2013-03-08T11:30:44.737 に答える