15. JSP2.1 イントロダクション
- 1. イントロダクション
1. イントロダクション
JSPのバージョンが、2.1にアップデートされました。 今回のバージョンアップでは、Servlet2.5の場合と同様、Java EE 5のメインテーマである "EoD:ease of development" に則り、 「開発のしやすさ」が改善されています。
今回のバージョンアップに際してその焦点となったのは、JSF1.2 (Java Server Faces)との整合性を向上させることでした。 そのひとつの解決策となったのが、JSPとJSF双方のEL式(Expression Language)を統合したことです。 もともとJSF1.0はJSP1.2を念頭において作られたため、JSP2.0以降に導入されたEL式を利用できませんでした。 そこでJSFは独自のEL式を導入したのですが、JSPで使われるEL式とJSFで使われるEL式の間に非互換性が生じてしまうという問題が発生していました。 今回のJSPのバージョンアップでは、JSPとJSFが一緒にシームレスに働くよう総合的に改良が施されています。 すなわち、JSPとJSF双方のEL式を統合したUnified ELなるものが作られ、JSP2.1ではそれが使えるようになりました。 これにより、JSPとJSFのコードをストレスなく混在させられるようになったのではないでしょうか。
JSP2.1の改良点としては、Unified ELが登場したことが大部分を占めていると言えるでしょう。 以下に今回の改良点を大まかにまとめました。 次回から、より詳しく解説を行っていきます。
Unified EL
これまでJSPで用いられていた即時評価式"${ }"に加え、遅延評価式"#{ }"が導入されました。 これは、ページライフサイクルのうちの異なる段階で式の評価が行えるというものです。 また、値のgetだけでなくsetも行えたり、メソッドの実行もEL式から可能となっています。 さらに高度な使い方として、EL式を処理しているELResolverを自分でカスタマイズすることもできるようになりました。
リソース注入
Servlet2.5と同じく、@Resourceアノテーションによってリソース注入が行えるようになりました。
trimDirectiveWhitespaces
ページディレクティブとして新たにtrimDirectiveWhitespaces属性が導入されました。 これをtrueにすることで、生成されるHTMLコードから無駄な余白や空白行を取り除いて、スッキリ整ったHTMLにしてくれます。