JSP EL,JSF EL和Unified EL之间的区别
我想知道表达语言(EL)之间的详细区别。有JSP EL,JSF EL和Unified EL。
我想知道EL背后的历史以及Java EE应用程序中使用的最新EL是什么。EL是最新版本中所有视图技术的通用符号吗?
回答:
2002年6月:EL首次引入JSTL 1.0。这些
${}
东西仅在JSTL标签中有效。它旨在调用Javabeanget
方法。2003年11月:引入JSP 2.0,并将EL从
javax.servlet.jsp.el
封装形式的JSTL 1.0迁移到JSP 2.0,并成为J2EE 1.4标准的一部分,成为 。JSTL 1.1出厂时没有EL。现在也${}
可以在JSP模板文本中的JSTL标记之外使用。2004年3月:JSF 1.0引入了带有 的
javax.faces.el
包装。那些#{}
东西仅在JSF标记内起作用。与标准JSP EL的区别${}
在于它不仅可以做get
,而且可以做set
。这对于托管bean自动创建和设置输入组件的值是必需的。标准EL也${}
可以在JSF输出标签中使用,但是如果它们在作用域中尚不存在,并且它们将不会设置输入值,它们将不会自动创建bean。2005年5月:在新的JSP 2.1应2006年5月发布的还在准备,递延EL
#{}
从JSF提取和使用标准EL相结合${}
的javax.el
包。那时,它成为JSF 1.2引入的 ,后来成为JSP 2.1和Java EE 5标准的一部分。#{}
现在,也可以在JSP标记中将该get
值用于值,但不能将其用于set
值。${}
现在,JSP中的can也可以自动创建托管bean,但不能自动创建set
值。2006年11月:Facelets被引入为JSP的继承者。它允许
#{}
在JSF标签外部使用模板文本,以替代<h:outputText>
没有任何属性的情况。它还对待${}
的#{}
,所以他们都表现得Facelets中一样。2009年12月:EL从JSP规范中提取出来,成为独立于JSP的独立规范,第一个版本是EL 2.2(JSR-245),类似于JSP 2.2。主要的新功能是调用参数化方法,而不是仅在
#{}
语法(例如)内调用Javabean getter / setter#{bean.method(argument)}
。此外,Facelets成为Java EE 6标准的一部分。2013年6月:推出了带有独立EL处理器的EL 3.0,允许在纯Java SE应用程序中使用。其他主要的新功能包括新的字符串连接运算符
+=
,集合对象的新操作,包括流和Lambda表达式->
(甚至在Java 6/7上!),以及将常量导入EL范围。
以上是 JSP EL,JSF EL和Unified EL之间的区别 的全部内容, 来源链接: utcz.com/qa/415325.html