首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSP EL、JSF EL和Unified EL的区别

JSP EL、JSF EL和Unified EL的区别
EN

Stack Overflow用户
提问于 2011-01-27 12:29:17
回答 2查看 22.1K关注 0票数 124

我想知道表达式语言(EL)之间的详细区别。有JSP EL、JSF EL和Unified EL。

我想知道EL背后的历史,以及Java应用程序中使用的最新EL是什么。在最新版本中,它是所有视图技术的通用EL吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-27 12:56:46

  • Jun 2002: EL首次引入JSTL1.0。它是那些只在JSTL标签中工作的${}东西。
  • 2003年11月:JSP2.0被引入,EL在javax.servlet.jsp.el包中从JSTL1.0移植到JSP2.0,并成为标准EL的一部分,作为J2EE 1.4标准的一部分。JSTL 1.1发布时没有使用EL。
  • MAR2004年3月:JSF1.0是在包中的deferred 中引入的。它是那些只在#{}标签内部工作的JSF东西。与标准JSP ${}的不同之处在于,它不仅可以执行get,还可以执行set。这对于自动创建托管bean和设置输入组件的值是必需的。
  • 2005年5月:在为2006年5月发布的新JSP2.1做准备时,从JSF中提取了延迟的EL #{},并将其与标准的EL ${}组合在javax.el包中。在这一点上,它成为JSF1.2引入的统一的EL,后来成为JSP2.1和JavaEE5标准的一部分。#{}现在还可以在JSP标记中用于get值,但不能用于set值。${}现在还可以自动创建托管bean,但不能自动创建Facelet值。
  • 2006年11月: Facelets是作为set的继任者引入的。它允许在JSF标记之外的模板文本中使用#{},作为没有任何属性的<h:outputText>的替代品。它还将${}视为#{},因此它们在JSP2009中的行为是相同的: EL是从Facelets.
  • Dec规范中提取出来的,并成为独立于${}维护的独立规范,第一个版本是EL 2.2 (JSR-245),类似于JSP2.2。主要的新功能是调用参数化的方法,而不是只调用#{}语法中的Javabean getter/setter,例如#{bean.method(argument)}。此外,Facelets成为了JavaEE6Facele2013的一部分:引入了EL 3.0,它带有独立的EL处理器,允许在普通的Java应用程序中使用。其他主要的新特性是新的字符串连接操作符+=,集合对象的新操作,包括流和Lambda表达式-> (甚至在Java6/7上!)并将常量导入EL作用域。
票数 224
EN

Stack Overflow用户

发布于 2012-05-23 23:07:52

补充BalusC的答案...

EL最初是由艺术技术集团的内森·艾布拉姆森于2001年构思并实施的。当时,这种实现被称为最简单可能的表达式语言(SPEL)。该实现后来被包含在JSTL1.0中。内森是JSR-052 Expert Group的一部分,并在JSTL specification中被认为是表达式语言背后的驱动力。

“特别提到Nathan Abramson,因为他是JSTL中引入的表达式语言背后的推动力”

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4812755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档