Różnica między JSP EL, JSF EL I Unified EL [zamknięta]

Chciałbym poznać szczegółową różnicę między językami wyrażeń (EL). Istnieje JSP EL, JSF EL I Unified EL.

Chciałbym poznać historię el i jaka jest najnowsza EL, która jest używana w aplikacjach Java EE. Czy jest to EL wspólne dla wszystkich technologii view w najnowszych wersjach?

Author: Arjan Tijms, 2011-01-27

2 answers

  • Czerwiec 2002: JSTL 1.0 został po raz pierwszy wprowadzony z EL. To byĹ 'y te ${} rzeczy, ktĂłre dziaĹ' ajÄ ... tylko w znacznikach JSTL. Jest przeznaczony do wywoływania metod Javabean get.

  • Listopad 2003: wprowadzono JSP 2.0 i EL został przeniesiony z JSTL 1.0 do JSP 2.0 w javax.servlet.jsp.el pakiet i stał się standardem EL {[36] } jako część standardu J2EE 1.4. JSTL 1.1 został dostarczony bez EL. Teraz ${} działa poza znacznikami JSTL w tekście szablonu JSP jako cóż.

  • Marzec 2004: JSF 1.0 został wprowadzony z odroczonym EL w javax.faces.el paczka. To byĹ 'y te #{} rzeczy, ktĂłre dziaĹ' ajÄ ... tylko w znacznikach JSF. Różnica w standardowym JSP EL ${} polega na tym, że nie tylko działa get, ale może również działać set. Było to obowiązkowe dla automatycznego tworzenia managed bean i ustawiania wartości komponentów wejściowych. Standard EL ${} działa również w znacznikach wyjściowych JSF, ale nie będą one automatycznie tworzyć fasoli, jeśli nie istnieją jeszcze w zakresie i nie ustawią wartości wejściowych.

  • Maj 2005: podczas przygotowań do nowego JSP 2.1, który powinien zostać wydany w Maju 2006, odroczony EL #{} został wyodrębniony z JSF i połączony ze standardem EL ${} w javax.el paczka. W tym momencie stał się unified EL , który został wprowadzony z JSF 1.2, a później stał się częścią standardu JSP 2.1 i Java EE 5. #{} może być teraz również używany w znacznikach JSP do wartości get, ale nie do wartości set. ${} może teraz w JSP również automatycznie tworzy zarządzane fasolki, ale nie wartości set.

  • Listopad 2006: Facelets został wprowadzony jako następca JSP. Pozwoliło to na użycie #{} w tekście szablonu poza znacznikami JSF, jako substytutu <h:outputText> bez żadnych atrybutów. Traktuje również ${} jako #{}, więc obie 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, pierwszego wersja El 2.2 (JSR-245), analogiczna z JSP 2.2. Główną nowością jest wywołanie parametryzowanych metod zamiast wywoływania tylko getterów/setterów Javabean wewnątrz 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 łańcuchów +=, nowe operacje na zbiorze obiekty, w tym strumienie i wyrażenia Lambda -> (nawet w Javie 6/7!) i importowanie stałych do zakresu EL.

 212
Author: BalusC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-19 11:25:29

Dodanie do odpowiedzi Balusca...

EL został zaprojektowany i wdrożony przez Nathana Abramsona z Art Technology Group w 2001 roku. W tym czasie implementacja była znana jako najprostszy możliwy język wyrażeń (Spel). Implementacja została później włączona do JSTL1. 0. Nathan był częścią grupy ekspertów JSR-052 i został wymieniony w specyfikacji JSTL jako siła napędowa języka wyrażeń.

" specjalne wyróżnienie dla Nathan Abramson za bycie siłą napędową wyrażenia język wprowadzony w JSTL "

 16
Author: jsears,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-18 21:15:03