Я перевожу приложение с Primefaces 3.5 на последнюю версию, фактически 6.2. У меня проблема с событиями на вкладках закрытия и изменения. Я динамически создал вкладки.
На TabChangeEvent tabClientId отличается от UIComponent, но он все еще работает, и я могу корректно переключаться между вкладками. Реальная проблема заключается в том, что когда я закрываю вкладку, то в contextEvent у меня tabClientId = [объект объекта], а tabIndex равен нулю, поэтому приложение взрывается здесь:
int tabindex = Integer.parseInt (params.get (clientId + "_tabindex"));
Кто-то знает, как это исправить?
<p:tabView var="tabview" value="#{tabBean.tabs}"
binding="#{tabBean.tabGlTabView}" id="panelGl"
widgetVar="panelGlJs" dynamic="true" styleClass="contentPanel"
activeIndex="#{tabBean.index}">
<p:tab title="#{tab.title}"
closable="true">
<ui:include src="#{tabBean.tab}" />
</p:tab>
<p:ajax event="tabChange"
onstart="setActive()"
update="@(this)" />
<p:ajax event="tabClose"
listener="#{tabBean.onTabClose}" />
</p:tabView>