jueves, 21 de julio de 2011

EL Functions

Es posible que cuando desarrollemos una JSP necesitemos alguna funcionalidad concreta que pensemos que solo es posible hacer mediante scriptlet. Para evitar esto podemos desarrollar una librería de etiquetas propias o algo aún más sencillo, crear una EL Function. Las EL Function no es mas que un método estático definido en un TLD que podemos usar con EL. Y se puede realizar en tres sencillos pasos:

1.Crear una clase que contenga un método estático, este método será al que luego llamaremos y que ejecutará nuestra función.
package es.aplicacion;
public class Function {
  public static int getTamanyo( List lista) {
    return lista.size();
  }
}
2. Debemos crear un TLD que contenga la definición de la función.Este fichero debe estar dentro de WEB-INF para que el servidor de aplicaciones lo reconozca automáticamente.

1.0
customsFunction
   
      Devuelve el tamanyo de una lista
      obtenerTamanyo
      es.aplicacion.Function
      int getTamanyo(java.util.List)  
   

3. Solo queda añadir la directiva taglib para nuestras funciones y ya la tendremos habilitada para usar en la JSP.
<%@ taglib prefix="fn" uri="customsFunction"%>
Para poder usarlo solo debemos poner en la JSP algo así:
${fn:obtenerTamanyo(myForm.lista)} 

No hay comentarios:

Publicar un comentario