JavaServer Faces ユーザーズガイド
目次 前ページ次ページ

第2章 JavaServer Facesの機能

2.1 JavaServer Facesアプリケーションとライフサイクル

JavaServer Facesアプリケーションは、一般的なJava Webアプリケーションと同じように サーブレットコンテナ上で、JSP、Java Beans、イベントリスナなどを利用して動作します。

JavaServer Faces固有の機能としては、予め組み込まれた、または、新しくユーザが作成したUIコンポーネント、イベントハンドラ、バリデータ、コンバータなどを、外付けの環境定義ファイル(faces-config.xml)で登録し利用する機能を持ちます。これにより、UIの修正とイベント処理などロジックの修正が別に行えることになり、アプリケーションの修正、機能追加の生産性が向上します。

ここで、JavaServer Facesアプリケーションのライフサイクルを説明します。ライフサイクルとは、JavaServer Facesアプリケーションがリクエストを受け取ってからレスポンスを返すまでの処理の流れをいいます。
JavaServer Facesは以下の流れでリクエストを処理します。

javaserver facesのライフサイクル

バリデートエラーやコンバートエラーなどのエラー、イベント処理による完了がなければ、実線の矢印で示したように6つのフェーズが順に実行されます。点線はエラーがあった場合などの処理の流れです。

■Restore View フェーズ

リンクやボタンのクリックなどによって、リクエストがサーバに送信されたとき、Restore View フェーズが開始されます。このフェーズで JavaServer Facesは、入出力ページの UIコンポーネントのツリーを作成し、イベント処理やバリデータをUIコンポーネントに関連付けます。作成したツリーは、FacesContextインスタンスに保存されます。

■Apply Request Values フェーズ

Restore ViewフェーズでUIコンポーネントが作成されたあと、送信されたフォームの値を取得し適用するフェーズです。値の取得や適用に失敗した場合、FacesContextインスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。

■Process Validations フェーズ

このフェーズでは、表示するページに関連付けられた全てのバリデータを処理します。値が妥当でなかった場合は FacesContextインスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。

■Update Model Values フェーズ

値の妥当性がチェックされた後で、対応づけられたモデルの値を、更新するフェーズです。モデルの更新に失敗した場合は FacesContextインスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。

■Invoke Application フェーズ

画面遷移などアプリケーションレベルのイベントを処理するフェーズです。エラーが発生した場合は FacesContextインスタンスにエラーメッセージを設定して、Render Responseフェーズに移動します。

■Render Response フェーズ

UIコンポーネントのツリーをクライアントがレンダリングできる形式(例えばHTML)にしてレスポンスとして返すフェーズです。


目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2005