Java Sticky Note
java
link
author
|
|
Standard TaglibsによるJSTLの利用
4. EL概要
JSTLでは,プレゼンテーションロジックのために,
簡易な式言語(EL)が導入されました.EL では,
Java言語のような高度なロジックを実装することは困
難ですが,タグライブラリと組み合わせて使用するこ
とで,Java言語を直接使うより容易にプレゼンテーシ
ョンロジックを実装できます.つまり,ELの導入に
より,高度なロジックがJSPファイル内に記述される
ことを排除し,逆にプレゼンテーション部の実装は容
易となります(もしプレゼンテーションの実装のため
に高度なロジックが必要となる場合には,JSPファイ
ル内に実装するのではなく,カスタムタグを新たに作
成する必要があります).
ELは,ECMAScript(JavaScript)とXPathをもと
に開発されています.もともとJSTLの開発チームは,
新しい言語を導入せずに,このどちらかの言語をEL
として採用することを検討していました.しかし,ど
ちらの言語もJSPを補完するための言語としては,あ
る面ではオーバースペックであり,またある面では不
足している機能が存在していたため,結局これらの言
語を基にして,新たな言語を作成しています.
リスト1は,ELを使用して変数xとyの加算結果を
出力しています.<c:out>は,属性valueで指定された
値を出力するためのカスタムタグで,このようにEL
はタグライブラリとともに利用することになります.
なお,Standard TaglibsとJSP 1.2の組み合わせではで
きませんが,JSP 2.0では,次のようにJSPのテンプレ
ートテキスト内に直接ELを記述することが可能とな
ります.このため,JSP 2.0ではELは広範囲に使用さ
れる重要な技術になると考えられます.
<h1>こんにちは,${user.name}さん</h1>
ELおよびカスタムタグライブラリは,Java言語に
よるプログラムをJSP内から極力排除するために導入
された技術です.これを用いれば,JSP内から多くの
Javaプログラムを排除することができます.JSP内に
ELおよびJSTLを含むカスタムタグライブラリと,Java
プログラムを共存させているものを見かけますが,そ
れらの多くは,
(1) 設計の不備
(2) カスタムタグにすべきものがタグ化されていない
(3) ELの理解が不十分
に起因するようです.本稿は,ELを正しく理解する
ことに重点を置いています.ELを正しく理解するこ
とは,JSTLに沿ったプログラムやカスタムタグを設計
する上でも必要です.ELとcoreライブラリが正しく
理解できていれば,あとは必要なときに必要なカスタ
ムタグライブラリの使い方を容易に調べることができ
ます.sに対応するためには,ELを正しく理解した
上で,ELをJava APIレベルで使用する方法を理解す
る必要があります.本稿ではこれについては触れませ
ん.これについては,また別の機会に譲ることにしま
す.
なお以下では,ELの動作をJava言語レベルで確認
するために,一部,ELと<% 〜 %>によるJSPスクリ
プトを同時に使っている部分があります.
このドキュメントに関するご意見、ご要望などはまで。
|
|