Odpowiedzi:
Czerwiec 2002: JSTL 1.0 został wprowadzony z EL po raz pierwszy. To były te ${}
rzeczy, które działają tylko w tagach JSTL. Jest przeznaczony do wywoływania get
metod Javabean .
Listopad 2003: wprowadzono JSP 2.0, a EL został przeniesiony z JSTL 1.0 do JSP 2.0 w javax.servlet.jsp.el
pakiecie i stał się standardowym EL jako część standardu J2EE 1.4. JSTL 1.1 został wysłany bez EL. Teraz ${}
działa również poza znacznikami JSTL w tekście szablonu JSP.
Marzec 2004: Wprowadzono JSF 1.0 z odroczonym EL w javax.faces.el
pakiecie. To były te #{}
rzeczy, które działają tylko wewnątrz tagów JSF. Różnica w stosunku do standardowego JSP EL ${}
polega na tym, że nie tylko działa get
, ale także potrafi set
. Było to obowiązkowe w przypadku automatycznego tworzenia zarządzanych fasoli i ustawiania wartości składników wejściowych. Standardowy EL ${}
działa również w tagach wyjściowych JSF, ale nie utworzą automatycznie komponentów bean, jeśli nie istnieją jeszcze w zakresie i nie ustawią wartości wejściowych.
Maj 2005: Podczas przygotowań do nowej wersji JSP 2.1, która powinna zostać wydana w maju 2006, odroczony EL #{}
został wyodrębniony z JSF i połączony ze standardowym EL ${}
w javax.el
pakiecie. W tym momencie stał się ujednoliconym EL, który został wprowadzony w JSF 1.2, a później stał się częścią standardu JSP 2.1 i Java EE 5. #{}
Mogą być również wykorzystywane w znacznikach JSP do get
wartości, ale nie set
wartości. W ${}
JSP można teraz również automatycznie tworzyć zarządzane komponenty bean, ale nie set
wartości.
Listopad 2006: Facelets został wprowadzony jako następca JSP. Pozwoliło to na użycie #{}
w tekście szablonu poza tagami JSF, jako substytut <h:outputText>
bez atrybutów. Traktuje również ${}
jako #{}
, więc oba zachowują się tak samo w Facelets.
Grudzień 2009: EL został wyodrębniony ze specyfikacji JSP i stał się samodzielną specyfikacją, która będzie utrzymywana niezależnie od JSP, pierwsza wersja to EL 2.2 (JSR-245), analogiczna do JSP 2.2. Główną nową funkcją jest wywoływanie metod sparametryzowanych zamiast wywoływania tylko metod pobierających / ustawiających w języku Javabean w #{}
składni, np #{bean.method(argument)}
. Ponadto Facelets stał się częścią standardu Java EE 6.
Czerwiec 2013: Wprowadzono EL 3.0, który jest wyposażony w samodzielny procesor EL, umożliwiający użycie w zwykłej aplikacji Java SE. Inne główne nowe funkcje to nowy operator konkatenacji ciągów +=
, nowe operacje dla obiektów kolekcji, w tym strumienie i wyrażenia Lambda ->
(nawet w Javie 6/7!) Oraz importowanie stałych do zakresu EL.
Dodawanie do odpowiedzi BalusC ...
EL został pierwotnie wymyślony i wdrożony przez Nathana Abramsona z Art Technology Group w 2001 roku. W tamtym czasie implementacja była znana pod nazwą Simplest Possible Expression Language (SPEL). Implementacja została później uwzględniona w JSTL1.0. Nathan był częścią grupy ekspertów JSR-052 i został wymieniony w specyfikacji JSTL jako siła napędowa języka ekspresji.
„Specjalne wyróżnienie dla Nathana Abramsona za bycie siłą napędową języka ekspresji wprowadzonego w JSTL”