gpt4 book ai didi

jsp - JSP EL、JSF EL 和 Unified EL 之间的区别

转载 作者:行者123 更新时间:2023-12-03 04:33:17 27 4
gpt4 key购买 nike

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

我想了解 EL 背后的历史以及 Java EE 应用程序中使用的最新 EL 是什么。这是最新版本中所有 View 技术通用的 EL 吗?

最佳答案

  • 2002 年 6 月:JSTL 1.0 首次与 EL 一起引入。就是那些${}只适用于 JSTL 标签的东西。它旨在调用Javabean get方法。

  • 2003 年 11 月:引入 JSP 2.0,并在 javax.servlet.jsp.el 中将 EL 从 JSTL 1.0 移至 JSP 2.0包,并且它成为标准 EL 作为 J2EE 1.4 标准的一部分。 JSTL 1.1 出厂时没有 EL。现在${}也可以在 JSP 模板文本中的 JSTL 标记之外工作。

  • 2004 年 3 月:JSF 1.0 在 javax.faces.el 中与延迟 EL 一起引入包裹。就是那些#{}只在 JSF 标签内起作用的东西。与标准JSP EL的区别${}是它不仅可以 get ,但也可以这样做set 。这对于托管 bean 自动创建和设置输入组件的值是必需的。标准EL ${}也适用于 JSF 输出标记,但如果它们不存在于范围内,它们不会自动创建 bean,并且不会设置输入值。

  • 2005 年 5 月:虽然仍在为应于 2006 年 5 月发布的新 JSP 2.1 做准备,但推迟了 EL #{}从 JSF 中提取并与标准 EL ${} 结合在 javax.el 包裹。那时,它成为随 JSF 1.2 引入的统一 EL,并成为后来的 JSP 2.1 和 Java EE 5 标准的一部分。 #{}现在也可以在 JSP 标记中使用 get值,但不是set值(value)观。 ${}现在可以在 JSP 中自动创建托管 bean,但不能 set值(value)观。

  • 2006 年 11 月:Facelets 作为 JSP 的继承者推出。它允许使用 #{}在 JSF 标记外的模板文本中,替代 <h:outputText>没有任何属性。它还处理 ${}#{} ,因此它们在 Facelets 中的行为相同。

  • 2009年12月:EL从JSP规范中提取出来,成为一个独立的规范,将独立于JSP进行维护,第一个版本是EL 2.2(JSR-245),类似于JSP 2.2。主要的新功能是调用参数化方法,而不是仅调用 #{} 内的 Javabean getters/setters语法,例如#{bean.method(argument)} 。此外,Facelets 成为 Java EE 6 标准的一部分。

  • 2013 年 6 月:引入了 EL 3.0,它配备了独立的 EL 处理器,允许在普通 Java SE 应用程序中使用。其他主要新功能包括新的字符串连接运算符 += ,集合对象的新操作,包括流和 Lambda 表达式 -> (甚至在 Java 6/7 上!)并将常量导入 EL 范围。

关于jsp - JSP EL、JSF EL 和 Unified EL 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812755/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com