tell me more iconJSF EL式を使用するバインディング

JavaEE 5.0およびJSP 2.1で導入された統合式言語(EL)は、JSP 2.0により提供される式言語の集合であり、JSFテクノロジー1.0用に作成された式言語です。 この統合ELにより、ページの作成者は引き続きEL式を使用して、UIコンポーネント値とオブジェクトをバッキングBeanプロパティにバインドするか、バッキングBeanメソッドをUIコンポーネント・タグから参照できます。

値式とメソッド式の2種類の式が統合ELで定義されています。 値式により、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 は式におけるオブジェクトのメソッド名に一致する識別子でなければなりません。

演算子

式言語は .および []演算子に加え、次の演算子を提供します。

  • 算術: +、-(バイナリ)、 */div%mod、-(単項)
  • 論理: and&&or||not!
  • 関係: ==eq!=ne<</code>、lt、 >gt<=ge>=le 比較は別の値か、またはブール、文字列、整数、および浮動小数点リテラルに対しておこなうことができます。
  • Empty: empty演算子は値が nullまたは空白であるかどうかを判断するのに使用できる前置演算子です。
  • 条件: A ? B : Cの場合、 Aの評価結果により、 Bまたは Cを評価します。