如何查看服务器使用的 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
EL 版本与 Servlet/JSP 版本齐头并进,这取决于所使用的 servletcontainer 实现/版本以及 Web 应用程序的
web.xml
根声明。
在您的具体情况下,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 容器上工作。