JavaServer Faces ユーザーズガイド
|
目次
|
2.4 バリューバインディング式とメソッドバインディング式
ここでは、バリューバインディング式とメソッドバインディング式について説明します。
バリューバインディング式は、画面とmanaged beanのプロパティを結びつけるための表記方法です。メソッドバインディング式は画面とmanaged beanのメソッドを結びつけるための表記方法です。どちらも、主にタグのアトリビュートで利用します。
バリューバインディング式とメソッドバインディング式は
"#{mybean.myprop}
"のように"#{
"で開始し、"}
"で終了していなければなりません。
■バリューバインディング式
"#{ }
"の内部に、managed beanの識別名と、プロパティ名を".
"(ドット)で結びつけて記述します。
このとき、Beanが入れ子になっている場合は、その数だけ".
"で繋げることができます。
JSPの例を次に示します。
<f:view>
<!-- mybeanという名前で登録されたmanaged beanのmypropプロパティを画面に表示する場合 -->
<h:outputText value="#{mybean.myprop}" />
<!-- mybean1、mybean2、mybean3が入れ子になっていて、mybean3のmypropプロパティを画面に表示する場合 -->
<h:outputText value="#{mybean1.mybean2.mybean3.myprop}" />
</f:view>
|
プロパティが配列、java.util.List
、java.util.Map
の場合は、"[]
"を利用して参照します。
<f:view>
<!-- myArrayプロパティが配列で、配列の0番目を画面に表示する場合 -->
<h:outputText value="#{mybean.myArray[0]}" />
<!-- myListプロパティがjava.util.List型で、リストの3番目を画面に表示する場合 -->
<h:outputText value="#{mybean.myList[3]}" />
<!-- myMapプロパティがjava.util.Map型で、"mykey"に対応する値を画面に表示する場合 -->
<h:outputText value="#{mybean.myMap['mykey']}" />
</f:view>
|
■メソッドバインディング式
メソッドバインディング式は、"#{ }
"の内部に、managed beanの識別名と、メソッド名を".
"(ドット)で結びつけて記述します。
バリューバインディング式と同様に、Beanが入れ子になっている場合は、その数だけ".
"で繋げることができます。
JSPの例を次に示します。
<f:view>
<h:form>
<!-- mybeanという名前で登録されたmanaged beanのvalidateメソッドで値の検証を行う場合 -->
<h:inputText value="#{mybean.myprop}" validator="#{mybean.validate}" />
</h:form>
</f:view>
|
■予約済み変数
バリューバインディング式、メソッドバインディング式では次の予約済み変数を利用することができます。
変数名 | 型 | 説明 |
applicationScope |
java.util.Map |
すべてのアプリケーションスコープの変数の集合です。 |
cookie |
java.util.Map |
リクエスト内のクッキーの集合です。Map のキーはクッキーの名前で、値はjavax.servlet.http.Cookie のインスタンスです。 |
facesContext |
javax.faces.context.FacesContext |
javax.faces.context.FacesContext クラスのインスタンスです。 |
header |
java.util.Map |
すべてのリクエストヘッダの集合です。Map 内の個々の値はjava.lang.String 型です。 |
headerValues |
java.util.Map |
すべてのリクエストヘッダの集合です。個々の値はjava.lang.String 型の配列です。 |
initParam |
java.util.Map |
アプリケーションの初期化パラメタの集合です。 |
param |
java.util.Map |
リクエストパラメタの集合です。各キーに対応するリクエストパラメタの先頭の値が格納されています。 |
paramValues |
java.util.Map |
リクエストパラメタの集合です。各キーに対応するリクエストパラメタはjava.lang.String の配列で格納されています。 |
requestScope |
java.util.Map |
すべてのリクエストスコープの変数の集合です。 |
sessionScope |
java.util.Map |
すべてのセションスコープの変数の集合です。 |
view |
javax.faces.component.UIViewRoot |
現在表示している画面に対応するjavax.faces.component.UIViewRoot クラスのインスタンスです。 |
予約済み変数を利用する例を次に示します。
<f:view>
<!-- "paramKey"というキーに対応するリクエストパラメタを画面に表示する場合 -->
<h:outputText value="#{param['paramKey']}" />
</f:view>
|
All Rights Reserved, Copyright © 富士通株式会社 2005