EL式 【式言語】 Jakarta Expression Language
概要
EL式(式言語)とは、文書中に一つの式として表された短いプログラムコードを記述し、処理を実行したり評価結果を埋め込んで表示する技術。Java言語によるWebページの動的生成で用いられる仕様が特に有名。JavaのEL式
JavaではWebサーバによる動的なページ生成技術であるJSP(JavaServer Pages)の仕様の一部としてEL式が定義されている。
これは出力するHTML文書の雛形(テンプレート)中にJavaコードの式を埋め込むことができる仕様で、 ${式} あるいは #{式} という記法を用いてコードを埋め込む。ページ出力時に処理を実行し、式を評価した結果で当該箇所を置き換えてくれる。
式は通常のJava言語とほぼ同じ構文で記述され、算術演算など単純なものから、事前に特定のスコープに登録されたオブジェクトを参照してプロパティを読み出したりメソッドを実行するといった高度なものまで可能となっている。paramオブジェクト(URLパラメータを格納)やcookieオブジェクト(HTTP Cookieを格納)など暗黙のオブジェクトも用意されている。
もともとはJSTL規格で定義された ${式} 記法の言語と、JSF規格で定義された #{式} 記法の言語があり、機能や仕様も異なっていたが、後に両者を統合した独立した規格として定義され、両記法とも同じ振る舞いとなった。この統一規格のEL式を「Unified EL」(統合EL式)と呼ぶことがある。
本来は言語仕様を「式言語」(EL:Expression Language)、式言語で記述された式自体を「式言語式」(EL式)というが、両者はあまり区別されず単にEL式と呼ばれることが多い。JavaではJSP系の式言語以外にも、Springフレームワークで用いられる「SpEL」(Spring Expression Language)、Struts2やSeasar2で用いられる「OGNL」(Object Graph Navigation Language)などの異なる式言語もある。