EL表达式

12. EL式

2005.10.17 株式会社四次元データ 宮澤了祐

12.1. EL式

JSP2.0よりEL式(Expression Language)が導入されました。 EL式は式言語とも呼ばれ、演算結果や値の参照の結果を出力するために使用されます。

EL式は

 ${式}

というような形で記述し、「{}」で囲まれた式を計算し、計算結果を出力します。

例えば

 ${100 * 100}

ならば、

 10000

という値を出力します。

またスコープに保存されたオブジェクトを、参照することも出来ます。スコープを明示しない場合は、全てのスコープを参照しますが、特定のスコープのオブジェクトにアクセスすることも出来ます。

例えばsessionスコープにpersonというオブジェクトがあり、nameという属性を持っているならば

 ${sessionScope.person.name}
  (省略した場合) ${person.name}

という形でpersonのnameプロパティにアクセスすることが出来ます。

EL式の書式は次の形です。「.」演算子を使用してアクセスするためには、オブジェクトのそのプロパティに対して、getXXX()メソッドが定義されている必要があります。

${スコープ名(省略可).オブジェクト名.プロパティ名}

配列やListの場合は

${スコープ名(省略可).オブジェクト名[インデックス]}

となります。

Mapを扱う場合は

${スコープ名(省略可).オブジェクト名["キー名"]}

で取得することが出来ます。

次のスコープを使用出来ます。

スコープ ELでの記述
Sessionスコープ sessionScope
Applicationスコープ applicationScope
Requestスコープ requestScope
Pageスコープ pageScope

また、ELでは上記のスコープ以外にも暗黙で使用出来るオブジェクトがいくつか定義されています。

オブジェクト名 内容
pageContext JSPファイルのコンテキスト。context、session、requestの各オブジェクトにアクセスできます。
param リクエストパラメータと値のマップ。
使用例)${param.arg1}
paramValues リクエストパラメータと配列値のマップ。
使用例)${paramValue.arg[0]}
header ヘッダ名と値のマップ。
使用例)${header['user-agent']}
headerValues ヘッダ名と配列のマップ。
使用例)${headerValues['user-agent'][0]}
initParam 初期化パラメータを持つMapオブジェクト。
使用例)${initParam["param1"]}
cookie cookie名とcookieオブジェクトを対応させたMapオブジェクト。
使用例)${cookie["param1"].value}

EL式を利用することでJSPファイルをスクリプトレスにしやすくなり、可読性が増します。

posted @ 2008-11-26 10:59  易欧  阅读(287)  评论(0编辑  收藏  举报