gpt4 book ai didi

java - TabView primefaces 3.1 重新加载选项卡内的页面并再次调用 ManagedBean

转载 作者:行者123 更新时间:2023-12-02 07:52:49 25 4
gpt4 key购买 nike

我需要一些帮助,我正在使用 primefaces 3.1 并制作一些页面,我想将此页面加载到选项卡 View 中,并且每个页面相互依赖。

像这样。

<p:tabView id="tabView1">
<p:tab id="tabInfo" title="title1">
<ui:include src="page1.xhtml"/>
</p:tab>
<p:tab id="tab2" title="title2" >
<ui:include src="page2.xhtml"/>
</p:tab>
<p:tab id="tab3" title="title3">
<ui:include src="page3.xhtml"/>
</p:tab>
</p:tabView>

第 2 页依赖于第 1 页的表单进行一些验证,并在第 2 页上显示或不显示此信息,第 3 页也需要相同的信息。

当我选择 tab2 再次调用第 2 页的 ManagedBean 并重新加载第 2 页并进行验证并显示数据时,我该怎么办?

此验证和所有信息的搜索都在 init 方法上。

请帮我解决这个问题。

我为我糟糕的英语道歉。

谢谢

最佳答案

您需要将这样的内容添加到 tabView 中:

<p:tabView id="tabView1">
<p:ajax event="tabChange" listener="#{yourBean.onTabChange}" update=":tab2"/>
...
  • 事件:定义启动 ajax 请求时发生的情况
  • 监听器:如果事件发生将会收到通知
  • 更新:对给定的 id 进行重新渲染
<小时/>

更新以回答您的评论:

方法onTabChange可能如下所示:

public void onTabChange(TabChangeEvent event) {  
// ...
}

事件提供所选选项卡:

event.getTab()

您现在可以使用以下命令重新呈现所有选项卡:

... update=":tabInfo, :tab2, :tab3"

或者将选定的选项卡存储在 bean 中并执行如下操作:

... update="#{yourBean.selectedTab}"

其中 selectedTab 看起来像这样:

public String getSelectedTab(){
// selectedTab is a variable that should be set onTabChange()
return selectedTab;
}

关于java - TabView primefaces 3.1 重新加载选项卡内的页面并再次调用 ManagedBean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com