互いにピア アプリケーションである Web モジュールのグループがあります。jQuery を使用してそれらをマッシュアップします。これらの異なるモジュールはすべて JSF を使用します。さまざまなモジュールをさまざまな Java EE アプリケーション サーバーにデプロイできます。
アカウントを開設するための JSF ページを想像してみてください。そのページでは、顧客検索機能を使用して、口座を開設する顧客を検索する場合があります。アカウント オープン フォームを含む JSF ページは 1 つの Web モジュールから提供され、クライアント検索ページは別の Web モジュールから提供されます。
...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 呼び出しを行い、それによって新しいビュー ステート ID が返されると、openForm.xhtml のビュー ステート ID も更新されることです。その後、openForm.xhtml を使用してフォームをサーバーに送信すると、ビュー ステート ID が同期しなくなります (サーバー側のビュー ステートが異なる別の Web モジュールへの a4j 呼び出しによって最後に更新されたため)。
上記の方法に適したビュー ステート ID を分離する方法はありますか? jsf ビュー ステートを、さまざまな Web モジュールからマッシュインされたコンポーネントに分離できるようにする必要があるのはどこですか?