JavaServer Faces (JSF) の概要

JavaServer Faces (JSF) は、ページ内の再使用可能なユーザー・インターフェース (UI) コンポーネントのアセンブリーを有効にすることによって、 サーバー・ベース・アプリケーションの UI の構造を単純化する標準フレームワークです。 JSF は、ウィジェットのデータ・ソースおよびサーバー・サイド・イベント・ハンドラーへの接続を容易にします。

JSF 仕様では、標準の UI コンポーネント・セットの定義、 コンポーネントを開発するためのアプリケーション・プログラミング・インターフェース (API) の提供、 既存の標準 UI コンポーネントの再利用および拡張の有効化などが定められています。

JSF を使用すると、Java™ アプリケーション・サーバー上で実行されるアプリケーションの作成および保守、そしてターゲット・クライアントへのアプリケーション UI のレンダリングなどの作業負荷が軽減されます。 JSF は、以下の点を通じて Web アプリケーションの開発を容易にします。

JSF は、使用可能なすべての入力フィールドに対してコンポーネント・タグを用意していると同時に、Model/View/Controller (MVC) 設計フレームワークを実装しており、アプリケーションの設計を整え、容易に保守が行えるようになっています。 JSF を使用すると、Java プログラマーは、UI と統合されるバックエンド・アプリケーションの開発に集中することができます。 また、Web ページの作成者は、必要なロジックをあらかじめ備えている作成済みの JSF コンポーネントをアセンブルすることによって UI を作成できるようになります。

JSF のライフ・サイクル

JSP をレンダリングする各 JavaServer Faces 要求には、ビューとも呼ばれる JSF コンポーネント・ツリーが含まれ、複数のフェーズからなる要求処理のライフ・サイクルの中を進んでいきます。 要求処理ライフ・サイクルの標準フェーズは復元ビューの作成で始まり、次に要求値の適用、 妥当性検査の処理、モデル値の更新、そしてアプリケーションの呼び出しへと続いていきます。 アプリケーションが呼び出されると、応答がレンダリングされます。 要求処理ライフ・サイクルの複数のフェーズにおいて、イベントがキューに入れられることがあります。 キューに入れられたイベントは、関係するイベント・リスナーへとブロードキャストされます。

JavaServer Faces のライフ・サイクルを示すダイアグラム

JSF UI コンポーネント・モデル

JSF を使用すると、さまざまなクライアントのタイプに応じた異なる方法で自身をレンダリングできるコンポーネントのコレクションから Web アプリケーションを作成できるようになります。 JSF は以下のものを備えています。
  • 基本 UI コンポーネント・セット - 標準 HTML 入力要素およびコア・ライブラリー。
  • 追加 UI コンポーネント・ライブラリーの作成や既存コンポーネントの拡張を行うための、基本 UI コンポーネントの拡張。
  • JSF UI コンポーネントが、クライアントのタイプ (例えば、HTML ブラウザー、無線または WAP 装置など) に応じた異なる方法で自身をレンダリングできるようにする、複数のレンダリング機能。

JSF 開発の概要

JSF アプリケーションを作成する手順は、次のとおりです。
  1. アプリケーションのモデル・クラスを定義して実装します。
  2. フレームワークにモデルを記述します。
  3. JSP を使用して、アプリケーションのビューを作成します。
  4. データの検査規則を定義します。
  5. コントローラーのビュー・ナビゲーションを定義します。
関連概念
非同期の JavaScript コンポーネントおよび XML (AJAX) コンポーネント
Faces Client コンポーネントを使用するクライアント・サイド・データ・キャッシング
JavaServer Faces のライフ・サイクル
JavaServer Faces (JSF) を使用した Web アプリケーションの開発
JSF ウィジェット・ライブラリー (JWL)
関連資料
JavaServer Faces (JSF) コンポーネントの参照
AJAX のコンポーネント
振る舞いのコンポーネント
データ表示コンポーネント
入力コンポーネント
ナビゲーションのコンポーネント
出力コンポーネント
ページ・コンポーネント
パネル・コンポーネント
サブタグ

フィードバック