Primefaces 5.0 动态选项卡无法调用选项卡更改



我使用的是支持动态选项卡和事件侦听器的p:tabView。看起来像这样:名为. xhtml的

 <h:form id="pageFm">
    <p:tabView scrollable="true"  value="#{MainBean.pagelist}" var="tab" activeIndex="#{MainBean.activeindex}" id="tabview" dynamic="true" cache="false">
    <p:ajax event="tabChange" listener="#{MainBean.onChange}" />
        <p:tab title="#{tab.pagename}" closable="true">
    <ui:include src="#{tab.pagepath}" />
    </p:tab>
</p:tabView>
</h:form>

ManageBean:

public void onChange(TabChangeEvent event){
System.out.println("ok");
}

切换制表符时,不会调用此方法。我不知道为什么。能给我一些帮助吗?由于

如果您使用默认的类名来引用您的managedBean,那么在视图页面中您必须设置mainBean而不是MainBean。你已经设置了listener="#{MainBean.onChange}",所以你必须定义一个叫做public void onChange(TabChangeEvent)的方法,它将在标签改变时被调用。

注意:我们的意思是tabChange在tabView中选择另一个选项卡的事件,在你的情况下,似乎你只有一个选项卡,尝试添加另一个

你的Bean Listener应该是

public void onChange(TabChangeEvent event){
      System.out.println("ok");
}

第二个问题与ui:include与变量(tab)的使用有关,该变量在呈现阶段之前不应该可用,ui:include标记是在恢复阶段构建的。

相关内容

  • 没有找到相关文章

最新更新