Resumen de características de Expression Language (EL) versión 2.2
A la espera de la futura versión 3.0 que trae importantes novedades publico un resumen muy esquemático de las principales características y sintaxis del Expression Language en su actual versión 2.2 estable enfocando sólo su uso bajo JSP (expresiones inmediatas).
-
Los objetos visibles en las expresiones son aquellos atributos declarados en los cuatro ámbitos: página, petición, sesión y aplicación. Técnicamente son los disponibles en el PageContext.
- Objetos implícitos:
- pageContext
- pageScope: mapa de atributos de página
- requestScope: mapa de atributos de petición
- sessionScope: mapa de atributos de sesión
- applicationScope: mapa de atributos de aplicación (ServletContext)
- param: mapa de parámetros de petición (valor único o primero)
- paramValues: mapa de parámetros que devuelve todos los valores (String[]) para parámetros multivaluados
- Tipos aceptados: JavaBeans, colecciones y Enums (Java 5).
- Los valores de los Enum se convierten a String.
- Colecciones: array o List, accesibles por índice y Map accesibles por clave.
- Invocación de métodos mediante la sintaxis esperada:
${userNumberBean.userNumber('5')}
- Operadores:
- Aritméticos: +, - (binario), *, / y div, % y mod, - (unario)
-
Lógicos: y, &&, or, , not, ! - Relacionales: ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le
- empty: comprueba si el valor es nulo o vacio (listas, arrays, String “”, …)
- Condicional: A ? B : C