Escribir un Tag
Artículo por Club Developers · 20 junio 2006
2463 vistas
Ejemplo simple, un tag vacÃo (sin contenido ni atributos) que muestra simplemente la cadena "Hello World":
Explicación:
Es inútil sobrecargar doEndTag() porque su implementación por defecto devuelve Tag.EVAL_PAGE.
El descriptor de fichero completo será algo asÃ:
El hecho de especificar un bodycontent empty permite lanzar una excepción de compilación si el tag tiene algún tipo de contenido...
La página JSP puede parecerse a esto:
mostrará lo siguiente:
java
public class HelloTag extends TagSupport { public int doStartTag() throws JspException { try { pageContext.getOut().println ("Hello World !"); throw new JspException ("I/O Error", e); } return Tag.SKIP_BODY; } }
Explicación:
- Extendemos TagSupport para veneficiarnos de las implementaciones por defecto de los métodos de Tag.
- Sobrecargamos doStartTag(), en el que sólo escribimos la cadena "Hello World" en la salida de la página en curso (pageContext se inicializa por la implementación por defecto de setPageContext()).
- Devolvemos Tag.SKIP_BODY porque no queremos tratar los cuerpos de la etiqueta.
Es inútil sobrecargar doEndTag() porque su implementación por defecto devuelve Tag.EVAL_PAGE.
El descriptor de fichero completo será algo asÃ:
xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>tex</shortname> <uri></uri> <info>Taglib de ejemplo</info> <tag> <name>hello</name> <tagclass>HelloTag</tagclass> <bodycontent>empty</bodycontent> </tag> </taglib>
El hecho de especificar un bodycontent empty permite lanzar una excepción de compilación si el tag tiene algún tipo de contenido...
La página JSP puede parecerse a esto:
html4strict
mostrará lo siguiente:
dos
Hello World !


