JavaServer Faces テクノロジと AJAX の使用

ステータス: Early Access

課題

Java Enterprise Edition 5 プラットフォームには、拡張性があり、成熟したユーザーインタフェースコンポーネントモデルを提供する JavaServer Faces (JSF) テクノロジが含まれています。このモデルのデザインによって、アプリケーション開発者は JSF テクノロジに用意されている標準のコンポーネントを拡張して簡単にカスタムコンポーネントを作成し、アプリケーションにまたがってそれらコンポーネントを再利用できます。コンポーネントを作成すると、AJAX 機能をアプリケーションに組み込むために必要なすべての HTML および JavaScript コードが生成されるので、ページ作成者は AJAX の持つ複雑さから守られます。JSF を使用して AJAX 機能をラップする方法は数多くあります。このドキュメントでは、そのうちのいくつかの方法について簡単に説明します。それぞれの方法の詳細は、次のドキュメントで説明しています。

対処法

JSF アプリケーションに AJAX サポートを組み込もうとする開発者は、デザインに関する多くの疑問にぶつかります。次に例を示します。

このような疑問に、それぞれの方法で応えています。

開発者が JSF アプリケーションに AJAX サポートを組み込む方法は複数あります。ここでは、2 つの方法について説明します。注意する必要があるのは、コンポーネント作成者とページ開発者とではプログラミングモデルが異なるということです。ここに示す方法は、アプリケーションの一部だけに AJAX サポートを追加したり、再利用可能な JSF コンポーネントを作成したりするときに使用できます。AJAX 対応の JSF コンポーネントを作成するには多少の追加作業がありますが、それにより、ページ作成者はコンポーネントを簡単に再利用できるようになります。

1 つ目の方法では、JSF コンポーネント内で PhaseListener を使用して AJAX 要求を処理します。つまり、JSF ライフサイクルおよびカスタムコンポーネントで、AJAX 要求の処理またはデコレートを行います。2 つ目の方法では、サーブレットをコントローラとして使用します。つまり、JSF コンポーネントで、AJAX 要求を処理するサーブレットを使用します。この方法では、すべての非同期要求が JSF ライフサイクルの外部で処理されます。通常は、1 つ目の方法のほうが一般的であり、2 つ目の方法は特殊な事例です。

参考資料


© Sun Microsystems 2006. Java BluePrints Solutions Catalog の内容はすべて著作権保護されており、サン・マイクロシステムズ社の書面による許可なしに他の著作物に発表することを禁止します。