Подтвердить что ты не робот

Как я могу проверить, какая версия EL используется сервером

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

Ответ 1

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

  • Servlet 3.1 поставляется с JSP 2.3 и EL 3.0.
  • Servlet 3.0 поставляется с JSP/EL 2.2.
  • Servlet 2.5 поставляется с JSP/EL 2.1.
  • Servlet 2.4 поставляется с JSP/EL 2.0.
  • Servlet 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 вашего веб-приложения объявлен совместимым, например, Servlet 2.4, ваш webapp будет работать в модуле Servlet 2.4 с JSP/EL 2.0.

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

См. также: