Java EE 5.0およびJSP 2.1で導入された統合式言語(EL)は、JSP 2.0で提供された式言語とJSFテクノロジ1.0用に開発された式言語を統合した式言語です。この統合ELでは引き続き、ページ作成者はEL式を使用してUIコンポーネント値とオブジェクトをバッキングBeanにバインドしたり、UIコンポーネント・タグからバッキングBeanメソッドを参照することができます。
統合ELでは、値式とメソッド式の2種類の式が定義されています。値式では、Beanプロパティを介して外部オブジェクトとの間でデータの取得と設定の両方が可能で、リスト、マップ、配列、暗黙的オブジェクトおよびリソース・バンドルを参照できます。メソッド式では、コンポーネント・イベントを処理するメソッド、またはコンポーネント・データを検証あるいは変換するメソッドを参照します。
値式の構文は、JSP 2.0式言語で使用するのと同じ構文に従います。値式の例は次のとおりです。
#{foo}
#{foo.bar}
#{foo.bar.baz}
#{foo[bar]}
#{foo["bar"]}
#{foo[3]}
#{foo[3].bar}
#{foo.bar[3]}
#{foo.bar == "Hello World"}
#{(foo.bar) / 5 * 3}
Offer Valid from #{offer.validFromDate} to {offer.validToDate}
メソッド式では、次のパターンのいずれかを使用する必要があります。
#{expression.value}
#{expression[value]}
expression
には、前述の値式で説明したEL式を使用できます。value
は、EL式のオブジェクトのメソッド名と一致する識別子である必要があります。
式言語では、.
演算子と[]
演算子の他に、次の演算子が用意されています。
+
、-(2項)、*
、/
とdiv
、%
とmod
、-(単項)。
and
、&&
、or
、||
、not
、!
。 ==
、eq
、!=
、ne
、<
、lt
、>
、gt
、<=
、ge
、>=
、le
。比較は、他の値(ブール、文字列、整数、浮動小数点リテラル)に対して行われます。 empty
演算子は、値がnull
であるか、空であるかの判別に使用できる前置演算子です。 A ? B : C
。A
の評価の結果に応じて、B
またはC
を評価します。
Copyright © 1997, 2009, Oracle. All rights reserved.