¿Qué es la JSLT?

1999 vistas

¿Qué es JSTL? (JSP Standard Tag Library)
La librería JSTL es un componente dentro de la especificación del Java 2 Enterprise Edition (J2EE) y es controlada por Sun MicroSystems. JSTL no es más que un conjunto de librerías de etiquetas simples y estándares que encapsulan la funcionalidad principal que es usada comúnmente para escribir páginas JSP. Las etiquetas JSTL están organizadas en 4 librerías:

  • core: Comprende las funciones script básicas como loops, condicionales, y entrada/salida.
  • xml: Comprende el procesamiento de xml
  • fmt: Comprende la internacionalización y formato de valores como de moneda y fechas.
  • sql: Comprende el acceso a base de datos.

¿Cuál es el problema con los scriptlets JSP?

Nota: Un scriptlet JSP: <% int contador = 100; %>

La especificación JSP ahora se ha convertido en una tecnologÃa estándar para la creación de sitios Web dinámicos en Java, y el problema es que han aparecido algunas debilidades:

  • El código Java embebido en scriptlets es desordenado.
  • Un programador que no conoce Java no puede modificar el código Java embebido, anulando uno de los mayores beneficios de los JSP: permitir a los diseñadores y personas que escriben la lógica de presentación que actualicen el contenido de la página.
  • El código de Java dentro de scriptlets JSP no pueden ser reutilizados por otros JSP, por lo tanto la lógica común termina siendo re-implementado en múltiples páginas.
  • La recuperación de objetos fuera del HTTP Request y Session es complicada. Es necesario hacer el Casting de objetos y esto ocasiona que tengamos que importar más Clases en los JSP.

¿Como mejoran esta situación la librería JSTL?

  • Debido a que las etiquetas JSTL son XML, estas etiquetas se integran limpia y uniformemente a las etiquetas HTML.
  • Las 4 librerías de etiquetas JSTL incluyen la mayorÃa de funcionalidad que será necesaria en una página JSP. Las etiquetas JSTL son muy sencillas de usarlas para personas que no conocen de programación, a lo mucho necesitarán conocimientos de etiquetas del estilo HTML.
  • Las etiquetas JSTL encapsulan la lógica como el formato de fechas y números. Usando los scriptlets JSP, esta misma lógica necesitarÃa ser repetida en todos los sitios donde es usada, o necesitarÃa ser movida a Clases de ayuda.
  • Las etiquetas JSTL pueden referenciar objetos que se encuentren en los ambientes Request y Session sin conocer el tipo del objeto y sin necesidad de hacer el Casting.
  • Los JSP EL (Expression Language) facilitan las llamadas a los métodos Get y Set en los objetos Java. Esto no es posible en la versión JSP 1.2, pero ahora está disponible en JSP 2.0. EL es usado extensamente en la librería JSTL.

¿Cuales son las desventajas de los JSTL?

  • Los JSTL pueden agregar mayor sobrecarga en el servidor. Los scriptlets y las librerías de etiquetas son compilados a servlets, los cuales luego son ejecutados por el contenedor. El código Java embebido en los scriptlets es básicamente copiado en el servlet resultante. En cambio, las etiquetas JSTL, causan un poco más de código en el servlet. En la mayorÃa de casos esta cantidad no es mensurable pero debe ser considerado.
  • Los scriptlets son más potentes que las etiquetas JSTL. Si desea hacer todo en un script JSP pues es muy probable que insertará todo el código en Java en él. A pesar que las etiquetas JSTL proporciona un potente conjunto de librerías reutilizables, no puede hacer todo lo que el código Java puede hacer. La librería JSTL está diseñada para facilitar la codificación en el lado de presentación que es tÃpicamente encontrado en la capa de Vista si hablamos de la arquitectura Modelo-Vista-Controlador.