Відповіді:
Червень 2002: JSTL 1.0 вперше був представлений з EL. Це було ${}
те, що працює лише в тегах JSTL. Він призначений для виклику Javabean get
методів.
Листопад 2003: JSP 2.0 був представлений, і EL було переміщено з JSTL 1.0 в JSP 2.0 в javax.servlet.jsp.el
пакеті, і він став стандартним EL як частина стандарту J2EE 1.4. JSTL 1.1 поставляється без EL. Тепер ${}
працює і поза тегами JSTL в тексті шаблону JSP.
Березень 2004: JSF 1.0 був представлений з відкладеною EL у javax.faces.el
пакеті. Це було #{}
те, що працює тільки в тегах JSF. Відмінність від стандартного JSP EL ${}
полягає в тому, що він не тільки робить get
, але і може робити set
. Це було обов'язковим для керованого автоматичного створення бобів та встановлення значень вхідних компонентів. Стандартний EL також ${}
працює у вихідних тегах JSF, але вони не створюватимуть автоматичне створення бобів, якщо вони ще не існують в області застосування, і вони не встановлять вхідні значення.
Травень 2005 року: Під час підготовки до нового JSP 2.1, який повинен бути випущений у травні 2006 року, відкладений EL #{}
був вилучений із JSF та об'єднаний зі стандартною EL ${}
у javax.el
пакеті. З цього моменту він став уніфікованим EL, який був представлений з JSF 1.2 і згодом став частиною стандарту JSP 2.1 та Java EE 5. #{}
Може тепер також використовуватися в тегах JSP для get
значень, але не set
значення. Тепер ${}
може в JSP також автоматично створювати керовані боби, але не set
значення.
Листопад 2006: Франлетс був представлений як наступник JSP. Це дозволило використовувати #{}
в тексті шаблону поза тегами JSF, як заміну <h:outputText>
без атрибутів. Це також трактується ${}
як #{}
, тож вони обидва поводяться однаково у Facelets.
Грудень 2009: EL був вилучений із специфікації JSP і став окремою специфікацією, яка буде підтримуватися незалежно від JSP, перша версія - EL 2.2 (JSR-245), аналогічна JSP 2.2. Головною новою особливістю є виклик параметризованих методів замість виклику лише Javabean getters / setters всередині #{}
синтаксису, наприклад #{bean.method(argument)}
. Крім того, Facelets став частиною стандарту Java EE 6.
Червень 2013: представлено EL 3.0, який постачається з автономним процесором EL, що дозволяє використовувати в звичайному додатку Java SE. Інші основні нові функції - це новий оператор конкатенації рядків +=
, нові операції з об'єктами збирання, включаючи потоки та вирази Lambda ->
(навіть на Java 6/7!) Та імпорт констант у сферу EL.
Додавання до відповіді BalusC ...
Ел був спочатку задуманий і реалізований Натаном Абрамсоном з Art Technology Group в 2001 році. У той час реалізація була відома як Найпростіша можлива мова вираження (SPEL). Пізніше реалізація була включена в JSTL1.0. Натан був частиною Експертної групи JSR-052 і був зарахований у специфікації JSTL як рушійна сила мови вираження.
"Особлива згадка Натана Абрамсона за те, що він був рушійною силою мови, що висловлюється в JSTL"