У нас есть группа веб-модулей, которые являются одноранговыми приложениями друг для друга.Мы смешиваем их вместе, используя jQuery.Все эти разные модули используют JSF.Разные модули могут быть развернуты на разных серверах приложений Java EE.
Представьте себе страницу JSF для открытия учетной записи.Эта страница может использовать функцию поиска клиентов, чтобы найти клиента, для которого должна быть открыта учетная запись.Страница JSF с открытой формой учетной записи обслуживается из одного веб-модуля, а страница поиска клиента - из другого.
...jsf page loaded from http://openaccount.com/openForm.xhtml
... code to load a search from from elsewhere...
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#search_gadget').load('http://search.com/searchForm.xhtml');
});
</script>
<search_gadget/>
<br/> .. the rest of the open account form...
... и searchForm, и openForm являются страницами JSF / a4j.
Теперь проблема в том, что когда searchForm 'гаджет' делает вызовы a4j для выполнения поиска и ему возвращаются новые идентификаторы состояния просмотра, идентификаторы состояния просмотра openForm.xhtml также обновляются.Когда openForm.xhtml затем используется для отправки формы на сервер, идентификаторы состояния представления не синхронизированы (так как они в последний раз обновлялись посредством вызовов a4j к другому веб-модулю, который имеет другое состояние представления на стороне сервера).
Есть ли способ изолировать идентификатор состояния представления, соответствующий описанному выше способу?где мы хотим иметь возможность изолировать состояние просмотра jsf от компонентов, из которых делают пюре, из разных веб-модулей?