ViewState потерян после AJAX-запроса
У меня очень странная ошибка со следующим кодом:
<h:form id="myForm">
<h:panelGroup id="myPanelGroup">
...
<h:commandButton
value="randomtext"
action="#{mybean.action}" tabindex="301"
<f:ajax execute=":myPanelGroup" render=":messages @form"/>
</h:commandButton>
</h:panelGroup>
...
</h:form>
Так что проблема в том, что после того, как я нажимаю на кнопку, форма (myForm) теряет свой viewState после рендера. Странно то, что в моем dev env это работает, но на другом сервере это не так. Я сделал какую-то распространенную ошибку с такими настройками пары исполнения / рендеринга или что еще могло вызвать такую проблему? Мне также было интересно, что, вероятно, 2 сервера имеют разные версии Mojarra или что-то в этом роде.
Сообщения в атрибуте рендеринга - это идентификатор группы панелей в другой форме.
Контейнер является сервером WebLogic с JSf 2.1.
Есть идеи?
Спасибо!
1 ответ
Итак, я обнаружил, что это распространенная проблема JSF, которую можно решить с помощью следующей библиотеки:
http://showcase.omnifaces.org/scripts/FixViewState
Дополнительная информация: http://balusc.blogspot.hu/2011/09/communication-in-jsf-20.html