我想创建<f:viewParam>
哪些设置的活动选项卡<p:tabView>
。在我的页面中,我定义了一个<f:viewParam>
:
<f:viewParam name="tab" value="#{tabView.activeIndex}" />
并<p:tabView>
与binding
:
<p:tabView binding="#{tabView}">
<p:tab title="tab1" />
<p:tab title="tab2" />
<p:tab title="tab3" />
</p:tabView>
但它不起作用。如果我用参数打开我的页面,?tab=1
我会看到这个异常:
引起:javax.el.PropertyNotFoundException:目标无法到达,标识符“tabView”解析为空
为什么会这样?
PS:除了@BalusC 答案,您可以像这样在 viewMap 上使用绑定组件属性:
<f:viewParam name="tab" value="#{viewScope['activeTabIndex']}" />
<p:tabView activeIndex="#{viewScope['activeTabIndex']}">
<p:ajax event="tabChange" />
<p:tab title="tab1" />
<p:tab title="tab2" />
<p:tab title="tab3" />
</p:tabView>
<p:ajax event="tabChange" />
在这种情况下,您必须通过或触发 ajax-request 将值放入 viewMapdynamic="true" cache="false"