こんにちは、primefaces バージョン 3.2 を使用しています。使用している UI レイアウトはタブビューで、その中にアコーディオン パネルがあり、アコーディオンのすべてのタブ内に 2 つのフォームがあります。
tabview>tab>accordionpanel>tab>form1 と同じように
tabview>tab>accordionpanel>tab>form2 など...
ここでの問題は、上記のシナリオでアクティブ インデックス アクションが呼び出されないことです。ただし、アコーディオン パネル タブから from を削除すると、呼び出されて正常に動作します。
これは私のxhtmlタブビューコードです
<p:tabView id="tabView" activeIndex="#{profileInfoManagedBean.myCurrentTab}" >
<p:ajax event="tabChange" listener="#{profileInfoManagedBean.tabIsChanged}" />
<p:tab id="locationInfoTab" title="Location Info">
<p:accordionPanel id="aPanel">
<p:tab id="tab1" title="Country">
<h:form id="form1">
<p:growl id="growl" life="5000" />
<p:messages id="messages" />
<h:panelGrid columns="3" cellpadding="5" cellspacing="5">
<p:column>
<h:outputLabel for="country" value="Country: "></h:outputLabel>
</p:column>
<p:column>
<p:inputText id="country" value="#{profileInfoManagedBean.country.country}" required="true" label="City">
<f:validateLength minimum="5" maximum="20" />
<p:ajax event="blur" update="msg1"></p:ajax>
</p:inputText>
</p:column>
<p:column>
<p:message id="msg1" for="country" display="icon"></p:message>
</p:column>
</h:panelGrid>
<p:commandButton type="submit" action="#{profileInfoManagedBean.addCountry}" value="Save" ajax="true" ></p:commandButton>
</h:form>