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

Другие вопросы по тегам