2016-10-10 7 views
1

У меня есть огромное приложение JSF, созданное с использованием перформанс версии 6.0, работающего на WebSphere Application Server версии 8.5.5. Я хочу избежать вложенных форм, поэтому мой p:tabView не включен в форму, но каждая вкладка имеет свою собственную форму. Источник моего взгляда вкладки выглядит примерно так:Форма представления формы на p: tabView change change

 <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 при каждом изменении значения, потому что это значительно замедляет мое приложение.

ответ

1

Я думаю, вы можете использовать атрибут process с динамическим селектором на событии tabChange.

Вы можете увидеть это в действии здесь: Ajax Framework - Partial Process