JSP EL、JSF EL、Unified ELの違い[終了]


122

式言語(EL)の詳細な違いを知りたいのですが。JSP EL、JSF EL、Unified ELがあります。

ELの背後にある歴史と、Java EEアプリケーションで使用されている最新のELについて教えてください。ELは最新バージョンのすべてのビュー技術に共通ですか?

回答:


221
  • 2002年6月:JSTL 1.0がELで初めて導入されました。${}JSTLタグでのみ機能するものでした。これは、Javabean getメソッドを呼び出すように設計されています。

  • 2003年11月:JSP 2.0が導入され、ELがjavax.servlet.jsp.elパッケージ内のJSTL 1.0からJSP 2.0に移動し、J2EE 1.4標準の一部として標準ELになりました。JSTL 1.1はELなしで出荷されました。今${}だけでなくJSPテンプレートテキスト内の外側のJSTLタグを動作します。

  • 2004年3月:JSF 1.0が導入され、遅延ELjavax.faces.elパッケージ化されました。#{}JSFタグ内でのみ機能するものでした。標準のJSP ELとの違い${}get、実行できるだけでなく、実行できることですset。これは、マネージドBeanの自動作成と入力コンポーネントの値の設定に必須でした。標準EL ${}はJSF出力タグでも機能しますが、スコープ内にまだ存在しない場合はBeanを自動作成せず、入力値を設定しません。

  • 2005年5月:2006年5月にリリースされる新しいJSP 2.1の準備をしながら、据え置きEL #{}がJSFから抽出さ${}れ、javax.elパッケージ内の標準ELと結合されました。その時点で、JSF 1.2で導入され、後にJSP 2.1およびJava EE 5標準の一部となった統合ELになりました。は#{}、JSPタグでget値に使用できますが、値には使用できませんset${}今JSPでも管理対象Beanを自動作成することはできませんが、set値。

  • 2006年11月:FaceletsがJSPの後継として導入されました。属性なしの#{}代わりに、JSFタグの外のテンプレートテキストでの使用を許可しました<h:outputText>。また、${}としても扱われる#{}ため、Faceletsではどちらも同じように動作します。

  • 2009年12月:ELはJSP仕様から抽出され、JSPから独立して維持されるスタンドアロン仕様になりました。最初のバージョンは、JSP 2.2に類似したEL 2.2(JSR-245)です。主な新機能は#{}、構文内でJavabean getter / settersを呼び出すだけではなく、パラメーター化されたメソッドを呼び出すことです#{bean.method(argument)}。さらに、FaceletsはJava EE 6標準の一部になりました。

  • 2013年6月:スタンドアロンのELプロセッサーを搭載したEL 3.0が導入され、プレーンなJava SEアプリケーションで使用できるようになりました。その他の主な新機能は、新しい文字列連結演算子+=、コレクションオブジェクトの新しい操作です。これには、ストリームやラムダ式->(Java 6/7でも)などが含まれ、定数をELスコープにインポートします。


18

BalusCの答えに追加...

ELはもともと2001年にArt Technology GroupのNathan Abramsonによって考案され、実装されました。その実装は、当時、最も単純な式言語(SPEL)として知られていました。実装は後でJSTL1.0に含まれました。ネイサンはJSR-052エキスパートグループの一部であり、式言語の原動力としてJSTL仕様に認定されました。

「JSTLで導入された式言語の原動力であるNathan Abramsonへの特別な言及」

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.