跳至內容

統一表達式語言

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

Java統一表達式語言(英語:Unified Expression Language,簡稱JUEL)是一種特殊用途的程式語言,主要咧 Java Web 應用程式用佇欲表達式躉入到 web 頁面。Java 規範制定者佮 Java Web 領域技術專家小組制定矣統一的表達式語言。JUEL 頭仔包括講佇 JSP 二嬸一規範 JSR 被兩百四十五中,尾仔成做 Java EE 七的一部份,改佇咧 JSR 抹三百四十一當中定義。

歷史

表達式語言是以 JSTL(JavaServer Pages Standard Tag Library,JSP 標準標籤庫)的一部份出現的,原本予人叫做 SPEL(Simplest Possible Expression Language,簡單的表達式語言), 後來予人號做 EL(Expression Language,表達式語言)。 伊是一種跤本語言,允准通過 JSP 訪問 Java 組件(JavaBeans)。 自 JSP 二嬸零以來,表達語言已經予內底囥甲 JSP 標籤內底,用佇對 JSP 中分離 Java 代碼,並允准(比用 Java 代碼)閣較方便訪問 Java 組件。

經過發展,表達式語言包含閣較濟的高級功能,並且包括佇 JSP 二鋪零規範內。對著有真少抑是差不多無 Java 智識的網頁內容設計者來講,跤本的編寫變閣較簡單矣。表達式語言使 JSP 變成真正意義上的跤本語言。欲表達語言出現進前,JSP 包含一寡特定的標籤,Java 代碼直接的寫佇遮的標籤里。有表達語言嘛乎,網頁內容設計者只需要知影按怎做出適當的 Java 方法調用,無需要編寫 Java 代碼。

EL 佇語法佮語義頂懸類似 JavaScript 表達式:

  • 無需要類型轉換;轉換通常是隱式的完成
  • 雙引號佮單引號用法相仝
  • ` object . property ` 佮 ` object ['property'] ` 的意義相仝

EL 嘛解放矣程式設計師,予程式設計師訪問 ` object . property ` 時,毋免清楚咧訪問值的時陣牽涉著的細節。

JSP 二四零標準制定期間,JavaServer Faces 標準的發佈嘛需要一个表達式語言,猶毋過佇 JSP 二嬸零規範中定義的表達式語言無夠以滿足 JSF 技術發展的需要。上突出的限制是表達式是予隨執行的。同時,JSF 組件猶閣需要一種途徑,來調用侍服器捀對象的方法。因為一个閣較強大的語言被制定出來,並具備以下新特性:

  • 延期執行的表達式
  • 表達式既然會當設定數據,也會當得著數據
  • 會當調用方法的方法表達式有新的表達式語言符合 JSF 的需求,猶毋過 JSP EL 和 JSF EL 之間並無兼容。統一表達式語言計畫就按呢啟動。佇咧 JSP 二孵一中,JSP 二嬸零和 JSF 一鋪一的表達式語言已經合併成一个統一表達式語言(EL 二嬸一)。

EL 三更零佇咧 JSR 抹三百四十一中對 JSP 和 JSF 規範當中獨立。新版本加一寡新的性,尤其是佮 Java 八的 Streams 和 Lambda 表達式相關的特性。

示例

下跤是統一表達式語言的一个簡單的例:使用 JSTL 中「c : out」標籤:

` ` ` < c : out value=" $ { myBean . myField } " / > ` ` `

調用一个參數的方法的表達式:

` ` ` $ { myBean . addNewOrder ('orderName') } ` ` `

實現

  • JUEL 是一个統一表達式語言二嬸一版的開源實現。予人認為是完整穩定的,使用 Apache 許可協議二交零授權。JUEL 嘛真適用佇非 JSP 應用。
  • Apache Commons EL 是來自 Apache 的 JSP 二孵空 EL 解說器。

參見

  • OGNL-一个予人 WebWork 和 Apache Struts 二使用的開源的表達語言。
  • MVEL-一个予逐家加 Java 項目使用的開源的表達語言。
  • Apache Commons JEXL-一个旨咧促進 Java 項目實現動態佮跤本功能的開源的表達語言。
  • SpEL-Spring 表達式語言,一个開源的 EL 表達式語言,是 Spring Framework 的一部份。伊主要是用佇咧 Spring portfolio 項目,但是嘛會當用別項目。

參考文獻

外部連結

  • JSR 兩百四十五 : JavaServer Pages 二嬸一
  • 統一表達式語言(Sun Developer Network ( SDN ) 上的文章)
  • 表達式語言
  • JSP 和 JSF 的統一的表達式語言(java . net 上的文章)
  • JUEL 是統一表達式的語言(EL)的實現,並成做 JSP 二嬸一標準 ( JSR 被兩百四十五 ) 的一部份