Concepto: Códigos personalizados de JSP (Java Server Page)
En esta directriz se proporciona una visión general técnica sobre los códigos personalizados, un mecanismo para ampliar la API de JSP.
Relaciones
Elementos relacionados
Descripción principal

Introducción

Los códigos personalizados son el mecanismo para ampliar la API de JSP. Los códigos personalizados permiten ampliaciones mediante declaraciones de páginas JSP. Los códigos JSP se implementan en Java, pero se activan en las JSP mediante códigos similares a los códigos HTML. Sin embargo, a diferencia de los códigos HTML, los códigos JSP los procesa el servidor y no el navegador del cliente.

Los códigos personalizados proporcionan una clara separación de responsabilidades entre los diseñadores web (desarrolladores de JSP) y los programadores de Java. Los programadores de Java son los encargados de implementar códigos JSP personalizados. Los diseñadores seleccionan estos códigos mediante declaraciones para activar la implementación Java.

El diseñador de JSP "invoca" al código Java declarando códigos y el desarrollador de Java desarrolla el código en manejadores de códigos, tal como se muestra en el siguiente diagrama.

Diagrama descrito en el texto adjunto.

Para proporcionar un código personalizado, el desarrollador de Java tiene que proporcionar dos elementos:

Manejador de códigos

Un manejador de códigos es una clase que implementa la interfaz Tag. Dos clases de bibliotecas permiten proporcionar manejadores de códigos. Las dos clases son javax.servlet.jsp.TagSupport y javax.servlet.jsp.BodyTagSupport. La clase TagSupport se utiliza para códigos que no tienen cuerpo, mientras que BodyTagSupport se utiliza para códigos con un cuerpo.

A continuación se presenta un ejemplo de una implementación de un manejador de códigos lo más simple posible.

Diagrama descrito en el texto adjunto.

Descriptor de biblioteca de códigos

Para que una JSP pueda utilizar códigos personalizados JSP, hay que crear un descriptor de biblioteca de códigos. Un descriptor de biblioteca de códigos es un archivo XML que se despliega en el servidor web junto con los manejadores de códigos.

A continuación se muestra un archivo de biblioteca de códigos simple con el descriptor de biblioteca de códigos HelloWorld.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLScheme-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>simp</short-name>
<uri> http://www.inferdata.com/taglib/hello-world</uri>
<description>Ejemplo simple de un código JSP personalizado</description>
<tag>
<name>hello</name>
<tag-class>com.inferdata.taglib.HelloWorld</tag-class>
<body-content>empty</body-content>
<description>Código hello world simple</description>
</tag>
</taglib>