TOPシステム開発> 完成したアプリケーションのテスト
まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第11回:バインディングとテスト

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

監修:山田祥寛   2006/8/25
前のページ  1  2
完成したアプリケーションのテスト

   これで占いアプリケーションが完成しましたので、動作を確認してみましょう。「ページ遷移のテスト」で説明した手順を再び繰り返し、埋め込みOC4Jサーバを再起動します。図2のように表示されれば成功です。
占いアプリケーションの実行例
図2:占いアプリケーションの実行例
(画像をクリックすると別ウィンドウに拡大図を表示します)


バインディング式の文法

   バインディングをJSPドキュメント中で表現するために、JSFでは「バインディング式」と呼ばれる構文を使います。バインディング式は、JSP 2.0で登場したEL(Expression Language)に似た記述を使って表現するBeanプロパティやメソッドの参照式のことで、#{と}で囲んだ中に書きます(リスト3)。

リスト3:タグ属性に書かれたバインディング式の例
<h:outputText id="test" value="#{backingBean['message']}"/>
<h:inputText id="test" value="#{backingBean.test}"/>

   バインディング式では、次の2種類の参照書式がサポートされています。

  • 書式1:プロパティ.プロパティ
  • 書式2:プロパティ[参照名]

表2:サポートされている参照書式

   書式1は、プロパティをJavaと同様「.」(ドット)を使って参照する形式です。たとえば、variableA.propertyB.propertyCという式は、JSFページ変数variableAに格納されているBeanオブジェクト(Xとします)をまず取り出し、続いてXのプロパティpropertyBを参照し、propertyBを参照した結果得られたBeanのプロパティpropertyCを参照します。

   書式2は、参照するプロパティを動的に変えることができる形式です。たとえば、variableA.propertyB[variableC]は、次のいずれかの参照を意味します。

  • XのプロパティpropertyBを参照した結果得られたBeanのプロパティのうち、JSFページ変数variableCに格納された文字列に該当する名前のものを参照する。
  • XのプロパティpropertyBを参照した結果得られたMapの要素のうち、variableCの内容をキーとする値を参照する。
  • XのプロパティpropertyBを参照した結果得られた配列もしくはListの要素のうち、variableCの内容をインデックスとする値を参照する。

表3:参照の意味

   したがって、以下の3書式はいずれも正しい参照となります。

variableA.propertyB['test']
variableA.propertyB["test"]
variableA.propertyB[1]

前のページ  1  2


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

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


INDEX
第11回:バインディングとテスト
  コンポーネントとマネージドBeanのバインディング
完成したアプリケーションのテスト