EL式

概要

インスタンスのプロパティの値を簡単に出力できる
※指定したプロパティのgetterが自動で実行される
スクリプト要素(スクリプトスクリプト式)内では使用できないため
for文やif文と一緒に使用できない

使用方法

${スコープ.インスタンス.プロパティ}
※スコープは省略可能で「インスタンスの検索順」の順番に検索する

${sessionScope.human.name}
${human.name}

文字列を表示したい場合
"か'で囲む

${"文字列です"}
${'文字列です'}

配列、リスト、マップの場合

配列、リスト
${human.list[0]}

マップ
${human.map["keyA"]}
または
${human.map.keyA}

インスタンスの検索順

検索するスコープを指定しなくても以下の順で検索される

ページスコープ

リクエストスコープ

セッションスコープ

アプリケーションスコープ

検索するスコープを指定する(暗黙オブジェクト)

暗黙オブジェクト名 説明
pageScope ページスコープを表す
requestScope リクエストスコープを表す
sessionScope セッションスコープを表す
applicationScope アプリケーションスコープを表す
param リクエストパラメータのMap
paramValue 複数の値を持つリクエストパラメータのMap。Mapの値はString配列
header リクエストのヘッダーのMap
headerValue 複数の値を持つリクエストのヘッダーのMap。Mapの値はString配列
initParam 初期パラメータのMap
cookie クッキーのMap

セッションスコープに保存されたhumanインスタンスのnameプロパティを表示
${sessionScope.human.name}

リクエストパラメータの値を表示(name="age"の場合)
${param['age']}

リクエストヘッダーのuser-agentを表示
${header['user-agent']}

empty演算子

${empty 対象}
${not empty 対象} ※結果が逆になる

対象が以下の場合、trueを返す
・スコープに保存されていない
・null
・空文字
・要素数が0の配列
インスタンスを1つも格納していないコレクション(リスト、マップ、セット)のインスタンス

演算子

演算子 内容
+, -, *, /, 算術
==, !=, <, >, <=, >= 関係
&&, ||(半角) 論理
a ? b : c 三項演算子 ※aがtrueならb、falseならcを返す
!, not, empty 条件