1

JSPコード

<t:panelTabbedPane align="left"  serverSideTabSwitch="false" styleClass="tabbedPane" 
            activeTabStyleClass="activeTab" inactiveTabStyleClass="inactiveTab" width="100%" cellpadding="0"
            cellspacing="0" tabContentStyleClass="tabContent" style="margin-top:0px;text-align:center"
            selectedIndex="#{myBB.selectedTab}">

/ * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** /

バッキングビーンコード:

private int selectedIndex;



    public int getSelectedIndex() {
        System.out.println("getter of selectedIndexis called "+selectedIndex);
        return selectedIndex;
    }

    public void setSelectedIndex(int selectedIndex) {
        System.out.println("Setter of selectedIndexis called "+selectedIndex);
        this.selectedIndex= selectedIndex;
    }

バッキングBeanはセッションスコープです。画面のpanelTabを変更して送信ボタンをクリックすると、常にデフォルトのパネルが表示されます。コンソールをチェックして、selectedIndexのセッターからsysoutを見つけましたが、コンソールでは印刷されていません。つまり、selectedIndexがサーバーに投稿されていません。JSFバージョン1.1を使用しています。誰かがこれを機能させる方法を提案できますか?

4

2 に答える 2

1

ドキュメントによると、selectedIndexは、現在選択されている実際のタブインデックスではなく、使用するデフォルトのタブインデックスです。

そうは言っても、を使用<t:tabChangeListener>して現在選択されているタブを選択できます。

于 2013-04-30T12:01:50.557 に答える
1

これに出くわすかもしれない人のために:

serverSideTabSwitch = "true"を設定し、tabChangeListenerを使用する必要があります。そうしないと、タブスイッチ(および既知のタブインデックス)が完全にクライアントで実行されます。

于 2014-06-06T12:07:07.620 に答える