Jsf 如何使用命令按钮以相同的形式切换p:tab
如何使用命令按钮切换到选项卡(Jsf 如何使用命令按钮以相同的形式切换p:tab,jsf,primefaces,tabview,Jsf,Primefaces,Tabview,如何使用命令按钮切换到选项卡()?p:tabView有一个属性activeIndex,即“活动选项卡的索引”(Primefaces文档) 您可以通过p:commandButton的操作方法设置此属性: <p:commandButton value="Switch tab" action=#{myBean.switchTab} /> 如果您的服务器支持EL 2.2,则可以使用操作方法调用设置活动选项卡的索引: <p:commandButton value="Switch tab
)?p:tabView
有一个属性activeIndex
,即“活动选项卡的索引”(Primefaces文档)
您可以通过p:commandButton
的操作方法设置此属性:
<p:commandButton value="Switch tab" action=#{myBean.switchTab} />
如果您的服务器支持EL 2.2,则可以使用操作方法调用设置活动选项卡的索引:
<p:commandButton value="Switch tab" action=#{myBean.switchTab(2)} />
然后,您可以使用操作方法调用的参数直接设置活动索引。还有一个客户端api方法,名为selectTab(index)
我使用Primefaces 5.1,我所做的是在ManagedBean中绑定我的tabView并在那里设置activeIndex 在JSF中
<h:form prependId="false" id="form">
<p:tabView id="tabPanel" widgetVar="tabPanel" binding="#{managedBean.tabView}" dynamic="true">
<p:tab title="tab" >
<p:commandButton action="#{managedBean.getBla}"
icon="ui-icon-search" update=":form:tabPanel" immediate="true" >
...
}
然后在commandButton操作中调用的方法中,只需执行
tabView.setActiveIndex(1)代码>
希望它能工作:)使用命令按钮以相同的形式切换p:tab
在客户端,您只能使用widgetVar选择/查看选项卡,如下所示:
注意:第一个选项卡的tabIndex将从0开始。
<p:commandButton type="button" onclick="PF('tabWidgetVar').select(1)" value="Next" />
在服务器端,您可以使用p:tab的activeIndex属性绑定一个整数变量,然后执行方法设置索引。匿名用户编辑您的帖子(被拒绝)。但我认为编辑值得添加为注释:实际上selectTab已贬值..改用select()
为什么几年后添加了重复答案?
<h:form prependId="false" id="form">
<p:tabView id="tabPanel" widgetVar="tabPanel" binding="#{managedBean.tabView}" dynamic="true">
<p:tab title="tab" >
<p:commandButton action="#{managedBean.getBla}"
icon="ui-icon-search" update=":form:tabPanel" immediate="true" >
...
private TabView tabView;
public TabView getTabView() {
return tabView;
}
public void setTabView(TabView tabView) {
this.tabView = tabView;
<p:commandButton type="button" onclick="PF('tabWidgetVar').select(1)" value="Next" />