Java Expression Language (EL) es un compacto y poderoso mecanismo que permite una comunicación dinámica en aplicaciones basadas en Java Server PAges (JSP) y Java Server Faces (JSF).
Embebemos estas expresiones en la capa de presentación para comunicar con la capa de la lógica de la aplicación. Con esto EL, provee una comunicación bidireccional.
¿Para qué se usa EL (Expression Language)?
EL es usado para “llenar” peticiones HTTP (HTTP request) con la información capturada por el usuario, también para extraer la información de las respuestas HTTP (HTTP response), también para actualizar el DOM HTML o para condicionar datos procesados, etc.
NOTA: Las expresiones EL, suelen estar usarse en páginas JSP y JSF, pero también pueden usarse en otros archivos, como por ejemplo en el archivo de configuración de faces-config.xml de JSF.
Sintaxis EL
EL puede evaluar las expresiones como inmediata (immediate) o diferida (deferred).
La evaluación inmediata, regresa el resultado tan pronto como la página es renderizada por primera vez. Este tipo de expresión es de tipo solo lectura (read only) y solo puede estar presente en etiquetas (tags) que aceptan expresiones en tiempo de ejecución (runtime expressions). Estas expresiones son reconocidas mediante la anotación ${ } y por lo general es usada en páginas JSP.
La evaluación diferida, puede reguresar el resultado en diferentes fases del ciclo de vida de la página. JSF puede evaluar la expresión en diferentes fases del ciclo de vida (por ejemplo, durante la fase de renderizado y la fase postback). Este tipo de expresiones pueden ser valores y métodos de expresiones, y son reconocidos con la anotación #{ }. Además es de tipo lectura y escritura.