JavaServer Faces ユーザーズガイド |
目次 |
第2章 JavaServer Facesの機能 |
JavaServer Facesアプリケーションは、一般的なJava Webアプリケーションと同じように サーブレットコンテナ上で、JSP、Java Beans、イベントリスナなどを利用して動作します。
JavaServer Faces固有の機能としては、予め組み込まれた、または、新しくユーザが作成したUIコンポーネント、イベントハンドラ、バリデータ、コンバータなどを、外付けの環境定義ファイル(faces-config.xml)で登録し利用する機能を持ちます。これにより、UIの修正とイベント処理などロジックの修正が別に行えることになり、アプリケーションの修正、機能追加の生産性が向上します。
ここで、JavaServer Facesアプリケーションのライフサイクルを説明します。ライフサイクルとは、JavaServer Facesアプリケーションがリクエストを受け取ってからレスポンスを返すまでの処理の流れをいいます。
JavaServer Facesは以下の流れでリクエストを処理します。
バリデートエラーやコンバートエラーなどのエラー、イベント処理による完了がなければ、実線の矢印で示したように6つのフェーズが順に実行されます。点線はエラーがあった場合などの処理の流れです。
リンクやボタンのクリックなどによって、リクエストがサーバに送信されたとき、Restore View フェーズが開始されます。このフェーズで JavaServer Facesは、入出力ページの UIコンポーネントのツリーを作成し、イベント処理やバリデータをUIコンポーネントに関連付けます。作成したツリーは、FacesContext
インスタンスに保存されます。
Restore ViewフェーズでUIコンポーネントが作成されたあと、送信されたフォームの値を取得し適用するフェーズです。値の取得や適用に失敗した場合、FacesContext
インスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。
このフェーズでは、表示するページに関連付けられた全てのバリデータを処理します。値が妥当でなかった場合は FacesContext
インスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。
値の妥当性がチェックされた後で、対応づけられたモデルの値を、更新するフェーズです。モデルの更新に失敗した場合は FacesContext
インスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。
画面遷移などアプリケーションレベルのイベントを処理するフェーズです。エラーが発生した場合は FacesContext
インスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。
UIコンポーネントのツリーをクライアントがレンダリングできる形式(例えばHTML)にしてレスポンスとして返すフェーズです。
目次 |