Richfaces a4j: включить загрузку двух страниц?

У меня есть этот, казалось бы, невинный код на моей главной странице JSF:

<a4j:outputPanel id="sidebarContainer">
     <a4j:include viewId="#{UserSession.currentSidebar}"/>
</a4j:outputPanel>

Вот как меняется боковая панель:

  1. jsFunction вызывает метод вспомогательного компонента, который устанавливает страницу (например, «sidebar2.jsp») в UserSession.

  2. jsFunction имеет "rerender='sidebarContainer'", так что правильная страница загружается на боковой панели

Когда веб-приложение первоначально запускается в JBoss 5, когда я вызываю jsFunction для смены страниц, появляется боковая панель2, но исходная боковая панель (sidebar1.jsp) появляется под ней.

Переключение боковой панели работает просто отлично после этой первоначальной странности. Есть предположения??


person Jon Onstott    schedule 27.04.2010    source источник


Ответы (1)


Похоже, проблема заключалась в том, что другой запрос AJAX выполняется одновременно с вызовом запроса AJAX для изменения боковых панелей. Сейчас мы добавляем несколько обходных путей.

В примечаниях к RichFaces 4 alpha 2 я заметил, что, поскольку RichFaces4 использует функциональность JSF 2 f:ajax, в основном запросы AJAX сериализуются, так что в любой момент может выполняться только один запрос. Поэтому, когда мы перейдем на RichFaces 4, наша проблема должна быть решена.

person Jon Onstott    schedule 26.06.2010