EL (Expression Language) en JSPs

EL (Expression Language) es un lenguaje utilizado en las paginas JSP para interactuar con los datos (JavaBeans) servidos (Servlet) por parte del servidor, sin importar el alcance de los atributos (request, session, application). Combinado con la librería JSTL Core (JavaServer Pages Standard Tag Library) nos permite construir toda la lógica de las páginas JSP de una forma mucho mas versátil.

  • EL fue agregada a partir de la tecnología JSP 2.0.
     
  • Para utilizarse no es necesario hacer ninguna declaración especial en los JSP. El único requisito es que sea un archivo JSP válido (e.j. page.jsp).
     
  • Con EL no es posible modificar los atributos de los Javabeans (métodos setters) únicamente se pueden leer sus atributos (métodos getters).
     
  • EL permite utilizar objetos implícitos (objetos que no necesitan declararse) y operadores.
     
  • Con EL no es posible iterar objetos como Arrays, Lists, etc. Para esto, es necesario combinar EL con JSTL.

Variables en Expression Languaje

Para obtener el valor de cualquier variable, sea del tipo que sea, lo único que tenemos que hacer es escribir su nombre entre ${}. Todo lo que necesitamos hacer para acceder a sus propiedades con EL desde el JSP es escribir el nombre del objeto, seguido de punto, y el nombre de la propiedad. <c:out value=”${persona.nombre}”/> y <c:out value=”${persona.edad}”/>

 

Del mismo modo, para acceder a un javabean con sus propiedades, getters y setters, EL automáticamente trata de obtener la propiedad utilizando los estándares (getNombre) de un javabean clásico. Utilizaremos la misma sintaxis para acceder a atributos compartidos mediante objetos implícitos .

Operadores en Expression Languaje

Las expresiones EL son evaluadas cuando se ejecuta el archivo JSP en el servidor y, posteriormente, el resultado de dicha expresión es reemplazado en el lugar donde está colocada la expresión. Finalmente este resultado se envía al cliente, junto con el HTML del JSP. Las expresiones nos permiten generar contenido más dinámico al poder operar con los datos extraídos de los JavaBeans.

 

JSP Standard Tag Library (JSTL)

Permite agregar funcionalidad a los JSP utilizando tags adicionales.

Para poder utilizar JSTL en nuestro proyecto debemos incluir la librería “jstl- 1.2.jar” en el directorio WEB-INF/lib de nuestra aplicación e incluir esta directiva al principio de los ficheros .jsp donde vayamos a utilizar JSTL.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 

JSTL contempla 4 categorías de tags:

  • core : contiene tags principalmente para manipular datos, establecer condiciones o iterar entre los elementos.
     
  • xml : incluye tags para la manipulación de datos en formato XML.
     
  • sql : permite ejecutar consultas a una BD. No es recomendable realizar consultas desde las vitas JSP directamente a la BD (not MVC).
     
  • fmt : permite dar formato a cadenas de texto y utilización de I18N (Internationalization)
     

En una aplicación MVC, JSTL se utiliza principalmente en los JSPs para iterar objetos como ArrayList, Array, etc, debido a que esto no lo podemos hacer con Expression Language (EL).

JSTL también se utiliza para agregar condicionales IF y FOR, los cuales funcionan de forma muy similar a los del lenguaje Java.

En el código fuente de nuestro ejemplo veremos algunos usos de JSTL Core Tags.


<c:out>

<c:catch>

<c:import>

<c:forEach>

<c:set>

<c:if>

<c:choose>, <c:when>, <c:otherwise>

Para ampliar información podemos consultar: http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

descarga-guia-eclipse