Я использую Primefaces 3.5 и столкнулся с проблемой смены ActiveIndex. ActiveIndex не меняется при переходе между вкладками. Это мой TabMenu код:Изменение ActiveIndex в TabMenu
<h:form id="formMenu">
<p:tabMenu id="tabMenu" activeIndex="#{toolbarBean.currentTab}">
<p:menuitem value="Main" action="#{toolbarBean.changeActiveIndex(0)}" />
<p:menuitem value="Page2" action="#{toolbarBean.changeActiveIndex(1)}" />
<p:menuitem value="Page3" actionListener="#{toolbarBean.changeActiveIndex(2)}" />
<p:menuitem value="Page4" action="#{toolbarBean.changeActiveIndex(3)}" />
</p:tabMenu>
</form>
toolbarBean.java
@Named
@SessionScoped
public class toolbarBean implements Serializable {
private int currentTab;
public int getCurrentTab() {
return currentTab;
}
public void setCurrentTab(int currentTab) {
this.currentTab = currentTab;
}
public String changeActiveIndex(int currentTab) {
this.currentTab = currentTab;
switch (currentTab) {
case 0:
return "/main";
case 1:
return "/page2";
case 2:
return "/page3";
case 3:
return "/page4";
default:
return "/page5";
}
}
}
Часть действия работает должным образом, когда переменная currentTab получает присваивается нужное значение. Однако, как только он запускает страницу переадресации страницы, панель инструментовBean сбрасывается, а activeIndex снова запускается с 0. Кто-нибудь есть идеи о том, что я делаю неправильно?
Итак, что вы хотите сделать? – nosnhoj
Я бы хотел, чтобы он менял активный индекс вкладки, так что вкладка текущей страницы рассматривается как активная для пользователя. – gdawgrancid
Почему бы вам не использовать, как в витрине? Поместите ссылку на страницу в свойство «url» для p: menuitem, вместо того, чтобы управлять им в вашем компоненте. Посмотрите: http://www.primefaces.org/showcase/ui/tabMenuSupport.jsf – Pellizon