Primefaces 在 p:tabView 选项卡更改时提交表单
Primefaces submit form on p:tabView tab change
我在 WebSphere Application Server 版本 8.5.5 上使用 primefaces 版本 6.0 运行 创建了一个巨大的 JSF 应用程序。我想避免嵌套表单,因此我的 p:tabView
不包含在表单中,但每个选项卡都有自己的表单。我的选项卡视图的源代码如下所示:
<p:tabView activeIndex="#{tabViewBean.selectedTab}" id="tabView" dynamic="true" cache="false" widgetVar="tabViewWidget">
<p:ajax event="tabChange" listener="#{tabViewBean.handleTabChange}" update=":tabView" />
<p:tab id="tab1" title="First tab">
<h:form id="FirstTabForm">
<ui:include src="/views/test/firstTabTab.xhtml"/>
</h:form>
</p:tab>
<p:tab id="tab2" title="Drugi tab">
<h:form id="SecondTabForm">
<ui:include src="/views/test/secondTab.xhtml"/>
</h:form>
</p:tab>
... more tabs ...
</p:tabView>
有没有一种方法可以在当前选项卡中提交表单而无需单击其中的 commandButton。我想在选项卡更改事件中实现这一点。
每个选项卡有 15-20 个输入字段,我不想在每次值更改时都使用 ajax,因为它会显着降低我的应用程序速度。
我认为您可以在 tabChange
事件中使用带有动态选择器的 process
属性。
您可以在此处查看实际效果:Ajax Framework - Partial Process
我在 WebSphere Application Server 版本 8.5.5 上使用 primefaces 版本 6.0 运行 创建了一个巨大的 JSF 应用程序。我想避免嵌套表单,因此我的 p:tabView
不包含在表单中,但每个选项卡都有自己的表单。我的选项卡视图的源代码如下所示:
<p:tabView activeIndex="#{tabViewBean.selectedTab}" id="tabView" dynamic="true" cache="false" widgetVar="tabViewWidget">
<p:ajax event="tabChange" listener="#{tabViewBean.handleTabChange}" update=":tabView" />
<p:tab id="tab1" title="First tab">
<h:form id="FirstTabForm">
<ui:include src="/views/test/firstTabTab.xhtml"/>
</h:form>
</p:tab>
<p:tab id="tab2" title="Drugi tab">
<h:form id="SecondTabForm">
<ui:include src="/views/test/secondTab.xhtml"/>
</h:form>
</p:tab>
... more tabs ...
</p:tabView>
有没有一种方法可以在当前选项卡中提交表单而无需单击其中的 commandButton。我想在选项卡更改事件中实现这一点。
每个选项卡有 15-20 个输入字段,我不想在每次值更改时都使用 ajax,因为它会显着降低我的应用程序速度。
我认为您可以在 tabChange
事件中使用带有动态选择器的 process
属性。
您可以在此处查看实际效果:Ajax Framework - Partial Process