La URI define el nombre de la librería Las tags están dentro de WEB-INF como tags.tld
<taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>nombrecorto</short-name> <uri>dad2</uri> <description>Descripcion de la librería</description> <tag> <name>mietiqueta</name> <tagclass>nombreDelPqueteDeLaClase</tagclass> <info>Información sobre la misma</info> <attribute> <name>unatributo</name> <required>false</required> </attribute> </tag> </taglib>
<%@ taglib uri="dad2" prefix ="d" %> <%@ page language="java" contentType="rext/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Etiquetas</title> </head> <body> <d:mietiqueta unatributo="si"> Se Ve la etiqueta </d:mietiqueta> <d:mietiqueta> No se ve la etiqueta </d:mietiqueta> </body> </html>
dentro del java resources en un paquete:
public class Etiquetas extends BodyTagSupport{ private String valorAtributo = ""; @Override public int doStartTag() throws JspException{ System.out.println("Etiqueta ejecutada" + this.valorAtributo); if("si".equals(this.valorAtributo)){//Comprueba si el atributo tiene un si return EVAL_BODY_INCLUDE;//evalua el body }else{//si no contiene si return SKIP_BODY//Salta el body } } public void setUnAtributo(String tmp){ this.valorAtributo = tmp; } }