Как я могу проверить, какая версия EL используется сервером - PullRequest
15 голосов
/ 30 августа 2011

Как я могу проверить, какая версия 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

1 Ответ

26 голосов
/ 30 августа 2011

EL версия идет рука об руку с версией Servlet / JSP, которая зависит от используемой реализации / версии servletcontainer, а также от корневой декларации web.xml вашего веб-приложения.

  • Сервлет 3.1 поставляется с JSP 2.3 и EL 3.0.
  • Servlet 3.0 поставляется с JSP / EL 2.2.
  • Сервлет 2.5 поставляется с JSP / EL 2.1.
  • Сервлет 2.4 поставляется с JSP / EL 2.0.
  • Сервлет 2.3 поставляется с JSP 1.2 без EL. EL предоставляется JSTL 1.0 и работает только в тегах JSTL.

WebSphere 7 - это сертифицированный контейнер Java EE 5, который подразумевает Servlet 2.5, который, в свою очередь, поставляется с JSP / EL 2.1. Однако если объявлено, что web.xml вашего веб-приложения соответствует, например, сервлету 2.4, то ваше веб-приложение будет работать в режиме Servlet 2.4 с JSP / EL 2.0.

Поскольку вы пометили этот JSF, я полагаю, что единственная цель этого вопроса - выяснить, можете ли вы использовать новую функцию EL 2.2, позволяющую вызывать не получающие методы с аргументами в EL. Это, таким образом, изначально не поддерживается вашим контейнером. Однако вы можете установить JBoss EL согласно этого ответа , чтобы он работал на контейнерах Servlet 2.5.

Смотри также:

...