第24章 リモーティング
Seam は Web ページからコンポーネントへのリモートアクセスに Asynchronous JavaScript and XML (AJAX) を使用します。 この機能のフレームワークの開発にはほとんど労力を必要としません。コンポーネントを単純なアノテーションで AJAX によりアクセス可能にします。本章では AJAX が有効な Web ページの作成に必要な手順、 そして Seam Remoting フレームワークに関する詳細についても説明していきます。
24.1. 設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
リモーティングの機能を使用するには、 まず
web.xml ファイル内で Seam Resource Servlet を設定する必要があります。
次のステップは Web ページに必要な JavaScript をインポートすることです。 インポートされるスクリプトは 2 つ以上必要です。 最初のスクリプトにはリモーティングの機能を有効にするクライアント側フレームワークの全コードが含まれます。
<script type="text/javascript"
src="seam/resource/remoting/resource/remote.js">
</script>
<script type="text/javascript"
src="seam/resource/remoting/resource/remote.js">
</script>
2 つ目のスクリプトは、 呼び出したいコンポーネントのスタブと型定義を含みます。 これはコンポーネントのローカルインターフェースに応じて動的に生成され、 インターフェースのリモート可能なメソッドの呼び出しに使用できる全クラスの型定義を含みます。 スクリプトの名前にはコンポーネントの名前が反映されます。 例えば、
@Name("customerAction") アノテーションをステートレスセッション Bean に付与する場合、 スクリプトタグは以下のようになります。
<script type="text/javascript"
src="seam/resource/remoting/interface.js?customerAction">
</script>
<script type="text/javascript"
src="seam/resource/remoting/interface.js?customerAction">
</script>
同じページから 1 つ以上のコンポーネントにアクセスしたい場合は、 スクリプトタグのパラメータとしてそれらをすべて含めます。
<script type="text/javascript"
src="seam/resource/remoting/interface.js?customerAction&accountAction">
</script>
<script type="text/javascript"
src="seam/resource/remoting/interface.js?customerAction&accountAction">
</script>
必要な Javascript のインポートに
s:remote タグを使用することもできます。 インポートしたいコンポーネントやクラス名はそれぞれコンマで区切ります。
<s:remote include="customerAction,accountAction"/>
<s:remote include="customerAction,accountAction"/>