stringtranslate.com

Джакартский язык выражений

Язык выражений Jakarta ( EL ; ранее язык выражений и унифицированный язык выражений ) — это язык программирования специального назначения, который в основном используется в веб-приложениях Jakarta EE для внедрения и оценки выражений на веб-страницах. Авторы спецификаций и группы экспертов по технологиям веб-уровня Java EE работали над унифицированным языком выражений, который сначала был включен в спецификацию JSP 2.1 (JSR-245), а затем определен сам по себе в JSR-341, части Java EE. 7.

История

Происхождение как JSTL

Язык выражений зародился как часть стандартной библиотеки тегов JavaServer Pages (JSTL) и первоначально назывался SPEL (самый простой возможный язык выражений), затем просто язык выражений ( EL ). Это был язык сценариев, который позволял получить доступ к компонентам Java ( JavaBeans ) через JSP . Начиная с JSP 2.0 , он использовался внутри тегов JSP для отделения кода Java от JSP и обеспечения более легкого доступа к компонентам Java (чем в коде Java).

JSP 2.0

С годами язык выражений развивался и включал в себя более продвинутые функциональные возможности, и он был включен в спецификацию JSP 2.0. Написание сценариев стало проще для дизайнеров веб-контента, которые мало или практически не знают основного языка Java. Этот язык сценариев сделал JSP языком сценариев в истинном смысле этого слова. До EL JSP состоял из некоторых специальных тегов, таких как скриптлеты , выражения и т. д., внутри которых явно записывался код Java. При использовании EL дизайнеру веб-контента нужно только знать, как правильно вызывать основные методы Java.

EL был как синтаксически, так и семантически похож на выражения JavaScript :

EL также освободил программиста от необходимости знать особенности фактического доступа к значениям: object.propertyможет означать (в зависимости от того, что это objectтакое) или object.get("property")или object.getProperty("property")или object.getProperty()и т. д.

ЭЛ 2.1

Во время разработки JSP 2.0 была выпущена технология JavaServer Faces , для которой также требовался язык выражений, но язык выражений, определенный в спецификации JSP 2.0, не удовлетворял всем потребностям разработки с использованием технологии JSF. Наиболее очевидными ограничениями было то, что его выражения оценивались немедленно, а компоненты JSF не могли вызывать методы для объектов на стороне сервера. Был создан более мощный язык со следующими новыми функциями:

Новый язык выражений хорошо подходил для целей JSF. Но у разработчиков возникли проблемы при интеграции JSP EL с JSF EL из-за конфликтов. Из-за этих несовместимостей была начата инициатива по объединению языков выражений, направленная на унификацию этих языков выражений. Начиная с JSP 2.1, языки выражений JSP 2.0 и JSF 1.1 были объединены в единый унифицированный язык выражений (EL 2.1).

ЭЛ 3.0

Версия 3.0 языка выражений (унифицированный язык больше не считался необходимым) была разработана в JSR независимо от спецификаций JSP и JSF в JSR-341. Были добавлены некоторые новые функции, в первую очередь EL-эквиваленты потоков Java 8 и лямбда-выражений. [1]

ЭЛ 4.0

Версия 4.0 была выпущена 7 октября 2020 г. [2] API перешел из пакета javax.el в пакет jakarta.el в рамках перехода от Java EE к Jakarta EE.

Функции

Унифицированный EL представляет собой объединение языков выражений JSP и JSF. В дополнение к функциям, уже доступным в JSP EL, унифицированный EL имеет следующие возможности:

Примеры

Это показывает простой пример использования Unified EL в теге JSTL «c:out»:

<c:out value="${myBean.myField}" />

Выражение, вызывающее метод с параметром:

${myBean.addNewOrder('orderName')}

Реализации

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

Рекомендации

  1. ^ «Стандартное отклонение: иллюстрация языка выражений 3.0 в среде сервлетов | Java.net» . Архивировано из оригинала 27 сентября 2013 г. Проверено 24 сентября 2013 г.
  2. ^ «Джакартский язык выражений 4.0.0» . Архивировано из оригинала 9 января 2021 г. Проверено 05 января 2021 г.

Внешние ссылки