TOP
>
システム開発
> レンダラ/レンダーキット
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が保持している値のこと。
図3:JSFページとマネージドBeanのバインディング
バリデータ
JSFでは、画面に入力された値の妥当性を検証するために
バリデータ
という機能が提供されています。JSFでは、画面に値を入力できるすべての入力コンポーネントにバリデータを設定することができるようになっています。バリデータの実例、および使い方については本連載の後の回の「バリデータの設定」で解説します。
コンバータ
JSFでは、画面に入力された文字列(String)をマネージドBeanのプロパティに格納します。そのプロパティにはInteger、Dateなどさまざまな型があるので、プロパティに設定する前に型変換が必要となります。
また、画面を表示する際にも、逆にプロパティの型のオブジェクトを文字列(String)に戻す処理を行います。JSFでは、この画面入力値とマネージドBeanのプロパティの型の相互変換を行う機能として
コンバータ
が提供されています。
前のページ
1
2
3
次のページ
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛
WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。
INDEX
第2回:JSFを構成する要素
JSFの構成要素
レンダラ/レンダーキット
JSF設定ファイル