EL式とは
Expression Languageの略。
JSPをより簡単に書くためにJSP2.0より導入されており、JSP上で使用する。
クライアントへの出力に使用する。
環境について
本記事内で登場するソースコードは、SpringMVCモデルを使った記述を紹介します。
特にサーブレット内で行うattributeの方法が「model.addAttribute」となります。
一般的なサーブレットのリクエスト/レスポンスのattributeの方法だと下記のようになります。
1 |
request.setAttribute("age", "25"); |
この違いを理解して頂いて、本記事をご参考ください。
基本的な使い方
1 |
${式} |
と書くことで、式の部分が出力されます。
たとえば
1 |
${10*2} |
とすると、
1 |
20 |
と表示されます。
スコープに保存されているオブジェクト
を参照することもできます。
登録したときの名前(プロパティ名)で表示することができます。
たとえばServletなどで
1 |
model.addAttribute("age", "25"); |
という処理を行っていた場合、JSP上で
1 |
${age} |
とすることで
1 |
25 |
と表示されます。
また、スコープに登録したオブジェクトのフィールドを参照することもできます。
Studentクラスにnameというフィールドがあります。
“student” という名前でStudentクラスのオブジェクトを登録します。
1 |
model.addAttribute("student", student); |
この場合、
1 |
${student.name} |
とすることで、登録したStudentオブジェクトのnameフィールドに格納されている値を表示することができます。
また、Studentクラスにnameフィールドのセッター、ゲッターが必要になります。
サーバーからEL式を使い、画面出力するとき ⇒ Formクラスのゲッターメソッド
画面からサーバーに入力値を送るとき ⇒ Formクラスのセッターメソッド
暗黙的オブジェクト
1 |
${param.name} |
の param は暗黙的オブジェクトです。
自分でオブジェクトを生成しなくとも使うことができます。
ほかにも”requestScope” , “header” , “cookie” などの暗黙的オブジェクトもあります。
コメント