jsf - 如何检查服务器使用的是哪个版本的 EL

标签 jsf jakarta-ee el

如何检查服务器使用的 EL 版本。
我正在运行 Websphere 7 。 EL 类在 j2ee.jar 中, list 在下面。

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

最佳答案

EL 版本与 Servlet/JSP 版本密切相关,后者依赖于所使用的 servletcontainer 实现/版本以及 web.xml您的 web 应用程序的根声明。

  • 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 又与 JSP/EL 2.1 一起提供。但是,如果web.xml您的 webapp 声明符合例如 Servlet 2.4,那么您的 webapp 将使用 JSP/EL 2.0 以 Servlet 2.4 模式运行。
    由于您标记了这个 JSF,我想这个问题的唯一目的是弄清楚您是否可以使用新的 EL 2.2 特性,即能够在 EL 中使用参数调用非 getter 方法。因此,您的容器本身并不支持。但是,您可以安装 JBoss EL根据 this answer让它在 Servlet 2.5 容器上工作。
    也可以看看:
  • Difference between JSP EL, JSF EL and Unified EL
  • 关于jsf - 如何检查服务器使用的是哪个版本的 EL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237000/

    相关文章:

    java - 当 servlet 的 doGet() 仍在运行时检测 J2EE 容器停止事件

    eclipse - 打开 weblogic 快速交换到 Weblogic 10.3.0.0 时出现问题

    java - 是否可以在 JSP 中创建本地页面范围?

    java - 遍历映射并检查键是否存在于另一个映射中

    jsp - 如何使用JSTL "if"标签而不获取 "..attribute test does not accept any expressions"

    jsf - JSF 资源库的用途是什么,应该如何使用?

    java - 托管 bean 有时为空,有时不为空

    java - 为sybase设置一个jdbc连接池

    jsf - Websphere 上的 javax.enterprise.inject.UnsatisfiedResolutionException

    java.lang.ClassNotFoundException : com. sun.faces.config.ConfigureListener 将 MyFaces 与 WASCE/Geronimo 一起使用时