TOPシステム開発> マネージドBeanとマネージドプロパティの設定
まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第10回:モデルとビューを統合する

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

監修:山田祥寛   2006/8/24
前のページ  1  2   3  次のページ
マネージドBeanとマネージドプロパティの設定

   各コンポーネントのバインディング設定の前に、JSF設定ファイル(faces-config.xml)を編集して、必要なマネージドBeanの登録を行います。アプリケーション・ナビゲータに表示されているfaces-config.xmlをエディタ画面に表示したら、下部にある「概要」タブを選択し、左上のリストから「Managed Bean」を選択してマネージドBeans編集画面に切り替えます(図2)。
マネージドBeans編集画面
図2:マネージドBeans編集画面
(画像をクリックすると別ウィンドウに拡大図を表示します)

   次に「新規」をクリックし、「マネージドBeanの作成」ダイアログを表示します。「名前」にはJSFページ変数名、「クラス」にはJSFに生成させるクラスの名前を、そして「有効範囲」にはマネージドBeanインスタンスの有効な期間(スコープ)を指定します。

   まず、UserInfoクラスを登録し、1回のセッションの間だけ有効なインスタンスをuserInfoというJSFページ変数から参照できるようにします。ダイアログへの入力値は、図3のようになります。

UserInfoクラスの登録
図3:UserInfoクラスの登録

   入力が終わったら、「OK」ボタンをクリックして登録を完了します。同様に、残りの2つのクラスもマネージドBeanとして登録します(表2)。

JSFページ変数名 クラス名 スコープ
userInfo to.msn.wings.jsf.model.UserInfo session
fortuneTeller to.msn.wings.jsf.FortuneTeller application
fortuneTellingService to.msn.wings.jsf.view.FortuneTellingService request

表2:マネージドBean として登録するクラスの一覧

   以上の手順が完了すると、図4のようになります。

マネージドBeanとして登録された3つのクラス
図4:マネージドBeanとして登録された3つのクラス

   続いて、マネージドプロパティの設定を行います。まず「Managed Bean」セクションからfortuneTellingServiceを選択し、次に「管理プロパティ」セクションの横にある三角形をクリックしマネージドプロパティの一覧を表示させます。それから同セクションのペインにある「新規」ボタンをクリックします。

   「管理プロパティの作成」ダイアログが表示されるので、ここにマネージするプロパティの名前、プロパティの型を入力していきます(図5)。

マネージドプロパティの記述
図5:マネージドプロパティの記述

   ここで追加が必要なマネージドプロパティを表3に示します。

プロパティ名 クラス名
userInfo to.msn.wings.jsf.model.UserInfo #{userInfo}
fortuneTeller to.msn.wings.jsf.FortuneTeller #{fortuneTeller}

表3:マネージドプロパティとして登録するプロパティの一覧

   次に各プロパティに値を設定していきます。設定対象のプロパティを選択し(「Managed Bean」セクションではなく)「管理プロパティ」セクションの編集」ボタンをクリックすると「managed-propertyのプロパティ」ダイアログが開くので、ここで値を入力します(図6)。

値バインディング式の記述
図6:値バインディング式の記述

   値としては文字列、数値のほか、値バインディング式を記述することができますので、それぞれ対応するマネージドBeanを参照する値バインディングを書いていきます。

   ここで#{...}という見慣れない記述があることにお気づきだと思います。これをバインディング式といいます。このバインディング式は、JSF変数への参照をJSFタグの属性値として指定するための記述方法です。

   #{JSF変数名.Beanプロパティ名}と記述することで、該当するJSF変数に格納されているBeanのプロパティ値が参照されます(バインディング式の文法の詳細については(第11回の「バインディング式の文法」の項を参照してください)。

   マネージドプロパティの追加が終わると、図7のようになります。

追加されたマネージドプロパティ
図7:追加されたマネージドプロパティ
(画像をクリックすると別ウィンドウに拡大図を表示します)

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


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

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


INDEX
第10回:モデルとビューを統合する
  モデルとビューの統合
マネージドBeanとマネージドプロパティの設定
  マネージドBeanの定義