fbpx
维基百科

统一表达式语言

Java统一表达式语言(英語:Unified Expression Language,简称JUEL)是一种特殊用途的编程语言,主要在Java Web应用程序用于将表达式嵌入到web页面。Java规范制定者和Java Web领域技术专家小组制定了统一的表达式语言。JUEL最初包含在JSP 2.1规范JSR-245中,后来成为Java EE 7的一部分,改在JSR-341中定义。

历史 编辑

表达式语言是以JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)的一部分出现的,原本被叫做SPEL(Simplest Possible Expression Language,简单的表达式语言),后来被称作EL(Expression Language,表达式语言)。它是一种脚本语言,允许通过JSP访问Java组件(JavaBeans)。自JSP 2.0以来,表达式语言已经被内置到JSP标签中,用于从JSP中分离Java代码,并允许(比用Java代码)更方便访问Java组件。

经过发展,表达式语言包含了更多的高级功能,并被包括在JSP 2.0规范内。对于有很少或几乎没有Java知识的网页内容设计者而言,脚本的编写变得更简单了。表达式语言使JSP变成了真正意义上的脚本语言。在表达式语言出现之前,JSP包含了一些特定的标签,Java代码直接的写在这些标签里[1]。有了表达式语言,网页内容设计者只需明白如何做出适当的Java方法调用,而无需编写Java代码。

EL在语法和语义上类似于JavaScript表达式:

  • 无需类型转换;转换通常是隐式的完成
  • 双引号和单引号用法相同
  • object.propertyobject['property']的意义相同

EL也解放了程序员,让程序员访问object.property时,不必清楚在访问值时涉及的细节。[2]

JSP 2.0标准制定期间,JavaServer Faces标准的发布也需要一个表达式语言,但在JSP 2.0规范中定义的表达式语言不足以满足JSF技术发展的需要。最突出的限制是表达式是被立即执行的。同时,JSF组件还需要一种途径,来调用服务器端对象的方法。因而一个更强大的语言被制定出来,并具备以下新特性:

  • 延期执行的表达式
  • 表达式既可以设定数据,也可以获得数据
  • 可以调用方法的方法表达式

新的表达式语言符合JSF的需求,但JSP EL和JSF EL之间并不兼容。统一表达式语言计划因此启动。在JSP 2.1中,JSP 2.0和JSF 1.1的表达式语言已经合并成一个统一表达式语言[3](EL 2.1)。

EL 3.0在JSR-341 (页面存档备份,存于互联网档案馆)中从JSP和JSF规范中独立。新版本添加了一些新的特性,尤其是与Java 8的Streams和Lambda表达式相关的特性。[4]

示例 编辑

下面是统一表达式语言的一个简单的例子:使用JSTL中“c:out”标签:

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

调用一个参数的方法的表达式:

${myBean.addNewOrder('orderName')} 

实现 编辑

  • JUEL (页面存档备份,存于互联网档案馆)是一个统一表达式语言2.1版的开源实现。被认为是完整而稳定的,使用Apache许可协议2.0授权。JUEL也适用于非JSP应用。
  • 是来自于Apache的JSP 2.0 EL解释器。

参见 编辑

  • OGNL - 一个被WebWork英语WebWorkApache Struts 2使用的开源的表达式语言。
  • MVEL - 一个被众多Java项目使用的开源的表达式语言。
  • Apache Commons JEXL (页面存档备份,存于互联网档案馆) - 一个旨在促进Java项目实现动态和脚本功能的开源的表达式语言。
  • SpEL (页面存档备份,存于互联网档案馆) - Spring表达式语言,一个开源的EL表达式语言,是Spring Framework的一部分。它主要用于Spring portfolio项目,但也可以用于其他项目。

参考文献 编辑

  1. ^ 例如scriptlet英语scriptlet“<% %>”,表达式“<%= %>”,等等。
  2. ^ 根据object的不同,object.property可能意味着object.get("property")object.getProperty("property")object.getProperty()等。
  3. ^ Scott Moore. Java EE 5:强大的功能、高生产率和低复杂性. IBM developerWorks. [2014-04-11]. (原始内容于2015-09-20). 
  4. ^ . (原始内容存档于2013-09-27). 

外部链接 编辑

  • JSR 245: JavaServer Pages 2.1 (页面存档备份,存于互联网档案馆
  • 统一表达式语言 (页面存档备份,存于互联网档案馆)(Sun Developer Network(SDN)上的文章)
  • 表达式语言 (页面存档备份,存于互联网档案馆
  • (java.net上的文章)
  • JUEL (页面存档备份,存于互联网档案馆)是统一表达式语言(EL)的实现,并成为JSP 2.1标准(JSR-245)的一部分

统一表达式语言, java, 英語, unified, expression, language, 简称juel, 是一种特殊用途的编程语言, 主要在java, web应用程序用于将表达式嵌入到web页面, java规范制定者和java, web领域技术专家小组制定了统一的表达式语言, juel最初包含在jsp, 1规范jsr, 245中, 后来成为java, 7的一部分, 改在jsr, 341中定义, 目录, 历史, 示例, 实现, 参见, 参考文献, 外部链接历史, 编辑表达式语言是以jstl, javaser. Java统一表达式语言 英語 Unified Expression Language 简称JUEL 是一种特殊用途的编程语言 主要在Java Web应用程序用于将表达式嵌入到web页面 Java规范制定者和Java Web领域技术专家小组制定了统一的表达式语言 JUEL最初包含在JSP 2 1规范JSR 245中 后来成为Java EE 7的一部分 改在JSR 341中定义 目录 1 历史 2 示例 3 实现 4 参见 5 参考文献 6 外部链接历史 编辑表达式语言是以JSTL JavaServer Pages Standard Tag Library JSP标准标签库 的一部分出现的 原本被叫做SPEL Simplest Possible Expression Language 简单的表达式语言 后来被称作EL Expression Language 表达式语言 它是一种脚本语言 允许通过JSP访问Java组件 JavaBeans 自JSP 2 0以来 表达式语言已经被内置到JSP标签中 用于从JSP中分离Java代码 并允许 比用Java代码 更方便访问Java组件 经过发展 表达式语言包含了更多的高级功能 并被包括在JSP 2 0规范内 对于有很少或几乎没有Java知识的网页内容设计者而言 脚本的编写变得更简单了 表达式语言使JSP变成了真正意义上的脚本语言 在表达式语言出现之前 JSP包含了一些特定的标签 Java代码直接的写在这些标签里 1 有了表达式语言 网页内容设计者只需明白如何做出适当的Java方法调用 而无需编写Java代码 EL在语法和语义上类似于JavaScript表达式 无需类型转换 转换通常是隐式的完成 双引号和单引号用法相同 object property与object property 的意义相同EL也解放了程序员 让程序员访问object property时 不必清楚在访问值时涉及的细节 2 JSP 2 0标准制定期间 JavaServer Faces标准的发布也需要一个表达式语言 但在JSP 2 0规范中定义的表达式语言不足以满足JSF技术发展的需要 最突出的限制是表达式是被立即执行的 同时 JSF组件还需要一种途径 来调用服务器端对象的方法 因而一个更强大的语言被制定出来 并具备以下新特性 延期执行的表达式 表达式既可以设定数据 也可以获得数据 可以调用方法的方法表达式新的表达式语言符合JSF的需求 但JSP EL和JSF EL之间并不兼容 统一表达式语言计划因此启动 在JSP 2 1中 JSP 2 0和JSF 1 1的表达式语言已经合并成一个统一表达式语言 3 EL 2 1 EL 3 0在JSR 341 页面存档备份 存于互联网档案馆 中从JSP和JSF规范中独立 新版本添加了一些新的特性 尤其是与Java 8的Streams和Lambda表达式相关的特性 4 示例 编辑下面是统一表达式语言的一个简单的例子 使用JSTL中 c out 标签 lt c out value myBean myField gt 调用一个参数的方法的表达式 myBean addNewOrder orderName 实现 编辑JUEL 页面存档备份 存于互联网档案馆 是一个统一表达式语言2 1版的开源实现 被认为是完整而稳定的 使用Apache许可协议2 0授权 JUEL也适用于非JSP应用 Apache Commons EL是来自于Apache的JSP 2 0 EL解释器 参见 编辑OGNL 一个被WebWork 英语 WebWork 和Apache Struts 2使用的开源的表达式语言 MVEL 一个被众多Java项目使用的开源的表达式语言 Apache Commons JEXL 页面存档备份 存于互联网档案馆 一个旨在促进Java项目实现动态和脚本功能的开源的表达式语言 SpEL 页面存档备份 存于互联网档案馆 Spring表达式语言 一个开源的EL表达式语言 是Spring Framework的一部分 它主要用于Spring portfolio项目 但也可以用于其他项目 参考文献 编辑 例如scriptlet 英语 scriptlet lt gt 表达式 lt gt 等等 根据object的不同 object property可能意味着object get property object getProperty property 或object getProperty 等 Scott Moore Java EE 5 强大的功能 高生产率和低复杂性 IBM developerWorks 2014 04 11 原始内容存档于2015 09 20 Standard Deviation An Illustration of Expression Language 3 0 in Servlet Environment 原始内容存档于2013 09 27 外部链接 编辑JSR 245 JavaServer Pages 2 1 页面存档备份 存于互联网档案馆 统一表达式语言 页面存档备份 存于互联网档案馆 Sun Developer Network SDN 上的文章 表达式语言 页面存档备份 存于互联网档案馆 JSP和JSF的统一的表达式语言 java net上的文章 JUEL 页面存档备份 存于互联网档案馆 是统一表达式语言 EL 的实现 并成为JSP 2 1标准 JSR 245 的一部分 取自 https zh wikipedia org w index php title 统一表达式语言 amp oldid 61726302, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。