TOPシステム開発> レンダラ/レンダーキット
まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第2回:JSFを構成する要素

著者:WINGSプロジェクト  佐藤治夫(株式会社ビープラウド)、
小泉守義

監修:山田祥寛   2006/7/20
前のページ  1  2   3  次のページ
レンダラ/レンダーキット

   レンダラとは、UIコンポーネントツリーで示されたユーザーインターフェイスの構造を、デバイスに適合したユーザーインターフェイスの表現形式に変換するクラスのことです(図2)。
レンダラ
図2:レンダラ

   通常、レンダラはコンポーネントのタイプや機能ごとに定義されています。なお、JSFに準拠する実装には標準でHTML用のレンダラを付属しなければならないことになっています。

   また、各コンポーネント用に用意された、同じ性格を持つ複数のレンダラをまとめたものをレンダーキットと呼びます。レンダーキットを取り替えることで、すべてのJSFページの外観を丸ごと取り変えたりすることができます。


マネージドBeanとバインディング

   ビューとモデルを結合する仕組みとして、JSFではマネージドBeanという機能が提供されています。任意のBeanクラス(POJO)をマネージドBeanとしてJSFに登録しておくと、実行時にJSFによって自動的にBeanクラスがインスタンス化され、指定した名前のJSF変数にBeanへの参照がセットされるようになっています。

   JSFページとマネージドBeanは、JSFタグに式の記述を行い、マネージドBeanのプロパティ(注1)を「バインディング」することで互いにデータのやり取りが行えるようになっています(図3)。バインディングの実例および方法については後述します。

※注1: getXXX()やsetXXX()のような、いわゆる「ゲッター/セッター」と呼ばれるメソッドによって外部からアクセス可能な、Beanが保持している値のこと。

JSFページとマネージドBeanのバインディング
図3:JSFページとマネージドBeanのバインディング


バリデータ

   JSFでは、画面に入力された値の妥当性を検証するためにバリデータという機能が提供されています。JSFでは、画面に値を入力できるすべての入力コンポーネントにバリデータを設定することができるようになっています。バリデータの実例、および使い方については本連載の後の回の「バリデータの設定」で解説します。


コンバータ

   JSFでは、画面に入力された文字列(String)をマネージドBeanのプロパティに格納します。そのプロパティにはInteger、Dateなどさまざまな型があるので、プロパティに設定する前に型変換が必要となります。

   また、画面を表示する際にも、逆にプロパティの型のオブジェクトを文字列(String)に戻す処理を行います。JSFでは、この画面入力値とマネージドBeanのプロパティの型の相互変換を行う機能としてコンバータが提供されています。

前のページ  1  2   3  次のページ


著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、小泉守義 監修:山田祥寛
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛

WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。


INDEX
第2回:JSFを構成する要素
  JSFの構成要素
レンダラ/レンダーキット
  JSF設定ファイル