У меня есть веб-приложение JSF 2.0 с измененными вкладками.
Для переключения вкладок я показываю одну и скрываю другие (либо с условным render="#{x==y}"
, либо с display:none/block
через условное styleClass
`ing.
В любом случае я получаю, чтобы вкладки отображались или скрывались правильно.
Проблема в том, что значения, введенные в поля ввода, не сохраняются, выбрасывают скрытие / отображение вкладки (Другими словами, если вы введете некоторые значения на вкладке 1, перейдите на вкладку 2 и вернитесь к вкладке 1, значения не сохранятся).
Я использую этот тег <f:ajax>
при выборе вкладки (воспламеняетсясобытие изменения хэша)
<h:form id="processFragment" prependId="false" class="hide">
<h:inputText id="fragment" value="#{fbean.fragment}">
<f:ajax event="change" execute="contentSection" listener="#{fbean.processFragment}"
render="contentSection" />
</h:inputText>
</h:form>
<div>
<h:form id="contentSection">
<ui:insert name="content" />
</h:form>
</div>
Спасибо!
Код отображения панели вкладок и содержимого вкладки:
<ui:define name="content">
<f:view>
<h:panelGroup styleClass="navBar">
<ul>
<ui:repeat value="#{hello.tabList}" var="tab">
<li onclick="window.location='\##{tab.tabHash}'"><h:panelGroup
styleClass="#{hello.chose == tab.tabHash?'activeTab':''}">
<h:outputText value="#{tab.tabName}" />
</h:panelGroup>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
<h:panelGroup id="contentPanels" styleClass="tabContentBar">
<c:forEach items="#{hello.tabList}" var="tab">
<h:panelGroup rendered="#{hello.chose == tab.tabHash}">
<!-- <h:panelGroup styleClass="#{hello.chose == tab.tabHash?'shownTabContents':'hiddenTabContents'}"> -->
<ui:include src="#{tab.tabFile}" />
</h:panelGroup>
</c:forEach>
</h:panelGroup>
</f:view>
</ui:define>
Наконец, содержимое конкретной вкладки:
<h:outputText value="TESTING 1" />
<h:panelGroup styleClass="formField">
<h:outputText value="Enter Value:" />
<h:inputText value="#{general.name}" />
</h:panelGroup>
ОБНОВЛЕНИЕ Просто заметил, что даже если я не скрываю вкладки и не нажимаю кнопку, значение сбрасывается. Расследование ...