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}">
/ * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** /
支持Bean代码:
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.But的setter中找到了sysout,它没有被打印,这意味着(我想)selectedIndex没有被发布到服务器。我使用的是JSF 1.1版。任何人都可以建议如何使这项工作?
答案 0 :(得分:1)
根据docs,selectedIndex
是要使用的默认选项卡索引,而不是当前实际选择的选项卡索引。
话虽如此,您可以使用<t:tabChangeListener>
来选择当前选中的标签。
答案 1 :(得分:1)
对于任何可能遇到此问题的人:
您需要设置serverSideTabSwitch =“true”并使用tabChangeListener,否则选项卡开关(以及已知的选项卡索引)完全在客户端中完成。