tutorial ejemplos ejemplo directivas basico java jsp jsp-tags

java - ejemplos - jstl



declarar las directivas JSP taglib en web.xml (2)

Me parece recordar haber leído que es posible declarar directivas taglib como:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

en web.xml. Esto elimina la necesidad de duplicar esta directiva en cada archivo JSP donde se usa taglib. ¿Podría alguien decirme cómo se pueden agregar estas directivas a web.xml?


Lo siento, estás un poco equivocado. Si una página usa un taglib, debe tener una directiva taglib para ella en la página. Puede colocar las directivas taglib comunes en un archivo include que todas sus páginas incluyan con una directiva include, pero en tiempo de compilación la directiva taglib debe estar allí.

Prefiero NO tener los elementos taglib en el archivo web.xml, y en su lugar, la directiva taglib especifica el valor del URI que se utiliza en el elemento "uri" en el TLD que está dentro del archivo taglib jar en su WEB-INF / lib .


El elemento taglib en web.xml tiene un propósito diferente al de la directiva taglib que tiene arriba.

Como dijo David, la directiva taglib es obligatoria en cada página.

Si tiene muchas páginas que usan taglibs comunes, puede atajar esto colocando las directivas taglib en un archivo de inclusión e incluyendo este archivo en cada página. Pero no importa cómo lo haga, la directiva taglib tiene que estar en la página de alguna manera.

Esa etiqueta que debe incluir en cada página se ve así:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Si tiene un taglib personalizado en una ubicación personalizada, también puede especificar una ubicación relativa a la raíz de la aplicación web:

<%@ taglib prefix="ex" uri="/taglib.tld" %>

Lectura adicional sobre la directiva taglib

La directiva taglib de web.xml asigna etiquetas uris a la ubicación física de su taglib. Es opcional ya que JSP 2.0, como contenedores compatibles se verá en un conjunto de ubicaciones estándar para tratar de auto descubrir el taglib: / WEB-INF y sus subdirectorios, / META-INF y también para archivos JAR.

Se ve así, en web.xml:

<taglib> <taglib-uri> http://www.example.com/taglib </taglib-uri> <taglib-location> /taglib.tld </taglib-location> </taglib>

Y el taglib se referencia en la página JSP de esta manera (¡la directiva taglib en cada página es inevitable!):

<%@ taglib prefix="ex" uri="http://www.example.com/taglib" %>

Esto es equivalente al segundo ejemplo que di para la directiva taglib anterior. La mayor diferencia radica en cómo señala la ubicación de taglib.

Esta página contiene un poco más de información.