Pergunta

Eu me lembro de leitura que é possível declarar diretivas de taglib tais como:

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

em web.xml. Isso elimina a necessidade de duplicar esta directiva em cada arquivo JSP onde o taglib é usado. Alguém poderia me dizer como estas directivas podem ser adicionados ao web.xml?

Foi útil?

Solução

O elemento taglib em web.xml serve a um propósito diferente para a directiva taglib que você tem acima.

Como David disse, a directiva taglib é exigido em cada página.

Se você tiver muitas páginas que usam taglibs comuns, você pode atalho isso colocando as diretivas de taglib em um arquivo de inclusão, e incluindo este arquivo cada página. Mas não importa como você faz isso, a directiva taglib tem que estar na página de alguma forma.

Essa tag que você precisa incluir em cada página esta aparência:

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

Se você tem uma taglib personalizado em um local personalizado, você também pode especificar um local em relação à raiz webapp:

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

Outras leituras sobre a taglib directiva

A directiva taglib de web.xml mapeia uris tag para o local físico do seu taglib. É opcional desde JSP 2.0, como recipientes compatíveis irá procurar em um conjunto de localizações padrão para tentar descobrir automaticamente o taglib:. / WEB-INF e seus subdiretórios, / META-INF, bem como para arquivos JAR

Parece que este, no web.xml:

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

E o taglib é referenciado na página JSP como este (a directiva taglib em cada página é inevitável!):

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

Este é equivalente ao segundo exemplo que dei para a diretiva taglib acima. A maior diferença está em como você apontar para o local taglib.

Esta página contém um pouco mais informações.

Outras dicas

Desculpe, você está um pouco enganado. Se uma página usa um taglib, você tem que ter uma diretiva taglib para ele na página. Você poderia colocar as diretivas de taglib comuns em um arquivo de inclusão que todas as suas páginas incluem com uma diretiva de inclusão, mas em tempo de compilação a directiva taglib tem que estar lá.

Eu prefiro não ter os elementos taglib no web.xml, e em vez disso tem o taglib directiva especificar o valor URI que é usado no "uri" elemento no TLD que está dentro do arquivo jar taglib em sua WEB- INF / lib.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top