Java > JavaEE > WebTier > JSF

  • JSFはWebアプリケーションを作成するためのコンポーネントフレームワーク
  • JSFの構成要素
    • コンポーネントとコンポーネントの状態管理のためのAPI
      • イベントハンドリング
      • サーバサイドバリデーション
      • データ変換
      • ページナビゲーション定義
      • 国際化とアクセシビリティ
    • タグライブラリ
      • コンポーネントをWebページに紐づける
      • コンポーネントをサーバサイドのオブジェkとに紐づける
  • JSFはwell-definedなプログラミングモデルと様々なタグライブラリを提供していて、開発が簡単にできる
    • Webページの作成
    • ページへのコンポーネント追加
    • ページのコンポーネントをサーバサイドのオブジェクトにバインド
    • コンポーネントが生成したイベントをサーバサイドに紐付
    • サーバへのリクエストスコープを超えて、アプリケーションの状態を保存・復元できる
    • コンポーネントの再利用と拡張

What Is a JavaServer Faces Application?

  • JSFアプリケーションに含まれるもの
    • コンポーネントが入れ込まれるWebページ
    • コンポーネントをページに埋め込むためのタグ
    • 管理ビーン
      • リソースのインジェクションや、ライフサイクルのコールバック、インターセプタなどをサポートするコンテナ管理のPOJO
    • DD(web.xml)
    • アプリケーション設定ファイル(オプション)
      • faces-config.xmlとか
      • ページ遷移
      • カスタムコンポーネント設定
    • カスタムオブジェクト
      • カスタムコンポーネント、バリデータ、コンバータ、リスナー
    • ページ上でカスタムオブジェクトを表現するカスタムタグ
  • クライアントからのリクエストに対して、JSF実装のコンテナでビューの描画、Webページの作成、返却が行われる
    • ページはコンポーネントタグを使ってビルドされる
    • コンポーネントタグはビュー(ページのサーバサイドの表現)にコンポーネントを追加する
    • ページが参照できるオブジェクト
      • イベントリスナ、バリデータ、コンバータ
      • ビーン

JavaServer Faces Technology Benets

  • JSFの利点
    • 振る舞いと表現を分離
      • HTTPリクエストをコンポーネントのイベントハンドリングに紐づける
      • コンポーネントはステートフルオブジェクトとして扱われる
      • 従来はクライアント側で分離が行われていた
      • ページ作成者はスクリプトとか書かなくてもJSFタグを書くだけでいい
    • 特定のマークアップやスクリプト技術に限られない
      • さまざまなプレゼンテーション技術、クライアントに対しても使える
  • Facelets を使うことでさらなる利点
    • テンプレートやコンポーネントのコンポジットとして、コードを再利用・拡張できる
    • 管理ビーンの自動登録(JSFアノテーション利用)や暗黙的遷移ルールでEODが増大
    • JSFはコンポーネント状態の管理、コンポーネントのデータ処理、入力のバリデーション、イベントのハンドリングを提供する

Creating a Simple JavaServer Faces Application

  • 単純なJSFアプリ作成に必要なタスク
    • 管理ビーンの作成
    • コンポーネントタグを使ったWebページの作成
    • FacesServletインスタンスのマッピング設定

Developing the Managed Bean

  • 管理ビーンはコンテナ管理されるオブジェクト
  • ページのコンポーネントは管理ビーンと関連付けられる
  • @ManagedBeanで管理ビーンをリソースとしてJSFコンテナに登録する

Creating the Web Page

  • 典型的には、WebページはXHTMLで作成
  • Webページは、管理ビーンをEL式#{...}を用いて参照する

Mapping the FacesServlet Instance

ライフサイクル

  • 典型的なWebアプリのライフサイクル
    • リクエストハンドリング、パラメータデコード、状態の修正と保存、Webページのレンダリング
  • JSFはライフサイクルのほとんどを扱ってくれる。
    • 必要に応じて、デフォルトの動作を変更できる
  • JSFライフサイクル
    • 実行フェーズ
      • ビューのビルド、復元
      • リクエストパラメータ値の適用
      • コンポーネントに対する変換とバリデーション
      • コンポーネントの値で管理ビーンの更新
      • アプリケーションロジックの実行
    • レンダーフェーズ

タグ:

+ タグ編集
  • タグ:
最終更新:2012年08月01日 23:17
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。