Junio de 2002: JSTL 1.0 se introdujo con EL por primera vez. Eran esas ${}
cosas que funcionan solo en etiquetas JSTL. Está diseñado para llamar a get
métodos Javabean .
Noviembre de 2003: se introdujo JSP 2.0 y EL se trasladó de JSTL 1.0 a JSP 2.0 en el javax.servlet.jsp.el
paquete y se convirtió en EL estándar como parte del estándar J2EE 1.4. JSTL 1.1 fue enviado sin EL. Ahora ${}
funciona también fuera de las etiquetas JSTL en el texto de la plantilla JSP.
Mar 2004: JSF 1.0 se introdujo con EL diferido en el javax.faces.el
paquete. Eran esas #{}
cosas que funcionan solo dentro de las etiquetas JSF. La diferencia con el estándar JSP EL ${}
es que no solo funciona get
, sino que también puede funcionar set
. Esto era obligatorio para la creación automática de beans gestionados y para establecer los valores de los componentes de entrada. El EL estándar también ${}
funciona en las etiquetas de salida JSF, pero no crearán automáticamente beans si aún no existen en el ámbito y no establecerán valores de entrada.
Mayo de 2005: mientras se preparaba para el nuevo JSP 2.1 que debería lanzarse en mayo de 2006, el EL diferido #{}
se extrajo de JSF y se combinó con EL estándar ${}
en el javax.el
paquete. En ese momento, se convirtió en EL unificado, que se introdujo con JSF 1.2 y luego se convirtió en parte de JSP 2.1 y el estándar Java EE 5. El #{}
ahora también puede ser utilizado en las etiquetas JSP a get
los valores, pero no a set
los valores. La ${}
lata ahora en JSP también crea automáticamente beans gestionados, pero no set
valores.
Nov 2006: Facelets fue presentado como sucesor de JSP. Permitía el uso de #{}
texto de plantilla fuera de las etiquetas JSF, como sustituto <h:outputText>
sin ningún atributo. También se trata ${}
como #{}
, por lo que ambos se comportan igual en Facelets.
Diciembre de 2009: EL se extrajo de la especificación JSP y se convirtió en una especificación independiente que se mantendrá independientemente de JSP, siendo la primera versión EL 2.2 (JSR-245), análoga a JSP 2.2. La nueva característica principal es llamar a métodos parametrizados en lugar de solo llamar a getters / setters Javabean dentro de la #{}
sintaxis, por ejemplo #{bean.method(argument)}
. Además, Facelets se convirtió en parte del estándar Java EE 6.
Junio de 2013: se introdujo EL 3.0, que viene con un procesador EL independiente, lo que permite su uso en una aplicación Java SE simple. Otras nuevas características principales son el nuevo operador de concatenación de cadenas +=
, nuevas operaciones para objetos de colección, incluidas secuencias y expresiones Lambda ->
(¡incluso en Java 6/7!) E importación de constantes en el ámbito EL.