如何查看服务器使用的 EL 版本

问题描述 投票:0回答:1

如何查看服务器使用的 EL 版本是什么? 我正在运行 Websphere 7 。 EL 类位于 j2ee.jar 中,清单如下。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 2.4 (IBM Corporation)
Specification-Title: Java Platform, Enterprise Edition Specification
Specification-Version: 5.0
Specification-Vendor: Sun Microsystems, Inc.
Implementation-Title: Java Platform, Enterprise Edition Specification
Implementation-Version: 5.0
Implementation-Vendor: Sun Microsystems, Inc.
Class-Path: activation-impl.jar mail-impl.jar
jsf jakarta-ee el
1个回答
30
投票

EL 版本与 Servlet/JSP 版本齐头并进,这取决于所使用的 servletcontainer 实现/版本以及 Web 应用程序的

web.xml
根声明。

  • Servlet 6.1 附带 JSP 4.0 和 EL 6.0 (Jakarta EE 11)。
  • Servlet 6.0 附带 JSP 3.1 和 EL 5.0 (Jakarta EE 10)。
  • Servlet 5.0 附带 JSP 3.0 和 EL 4.0 (Jakarta EE 9)。
  • Servlet 4.0 附带 JSP 2.3 和 EL 3.0 (Java EE 8)。
  • Servlet 3.1 附带 JSP 2.3 和 EL 3.0 (Java EE 7)。
  • Servlet 3.0 附带 JSP 2.2 和 EL 2.2 (Java EE 6)。
  • Servlet 2.5 附带 JSP 2.1 和 EL 2.1 (Java EE 5)。
  • Servlet 2.4 附带 JSP 2.0 和 EL 2.0 (J2EE 1.4)。
  • Servlet 2.3 附带 JSP 1.2,没有 EL (J2EE 1.3)。 EL 将由 JSTL 1.0 提供,并且仅在 JSTL 标签内工作。

在您的具体情况下,WebSphere 7 是一个经过 Java EE 5 认证的容器,因此意味着 Servlet 2.5,而 Servlet 2.5 又随 JSP/EL 2.1 一起提供。但是,如果您的 web 应用程序的

web.xml
被声明为符合 Servlet 2.4,那么您的 web 应用程序将以 Servlet 2.4 模式和 JSP/EL 2.0 运行。

既然您标记了这个 JSF,我想这个问题的唯一目的是弄清楚您是否可以使用新的 EL 2.2 功能,即能够使用 EL 中的参数调用非 getter 方法。因此,您的容器本身并不支持这一点。但是,您可以按照 this answer 安装 JBoss EL,以使其在 Servlet 2.5 容器上工作。

另请参阅:

© www.soinside.com 2019 - 2024. All rights reserved.