JSP taglib Richtlinien in web.xml erklären
Frage
Ich scheine das Lesen zu erinnern, dass es möglich ist taglib Richtlinien wie zu deklarieren:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
in web.xml. Dadurch entfällt die Notwendigkeit, diese Richtlinie in jeder JSP-Datei zu kopieren, wo die taglib verwendet wird. Könnte mir jemand sagen, wie diese Richtlinien hinzugefügt werden können, um web.xml?
Lösung
Das taglib
Element in web.xml dient einem anderen Zweck an die taglib
Richtlinie, die Sie oben haben.
Wie David sagte, die taglib
Richtlinie auf jeder Seite erforderlich ist.
Wenn Sie viele Seiten haben, die gemeinsame Taglibs verwenden, können Sie diese Abkürzung durch die taglib Richtlinien in einer Include-Datei setzen, und einschließlich dieser Datei auf jeder Seite. Aber egal, wie Sie es tun, die taglib Richtlinie hat irgendwie auf der Seite sein.
Der Tag, das Sie auf jeder Seite aufnehmen müssen wie folgt aussieht:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Wenn Sie eine benutzerdefinierte taglib in einem benutzerdefinierten Ort haben, können Sie auch einen Ort in Bezug auf die Webapp Wurzel an:
<%@ taglib prefix="ex" uri="/taglib.tld" %>
Weiterführende Literatur auf der taglib Richtlinie
Die taglib
Direktive von web.xml Karten Tag URIs zum physischen Standort Ihres taglib. Es ist optional, da JSP 2.0, wie konforme Behälter in einer Reihe von Standard-Standorten aussehen zu versuchen auto-entdecken Sie die taglib: / WEB-INF und dessen Unterverzeichnissen, / META-INF als auch für JAR-Dateien
Es sieht wie folgt aus, in web.xml:
<taglib>
<taglib-uri>
http://www.example.com/taglib
</taglib-uri>
<taglib-location>
/taglib.tld
</taglib-location>
</taglib>
Und die taglib ist in der JSP-Seite wie folgt aus (die taglib Richtlinie auf jeder Seite ist unvermeidlich!) Verwiesen:
<%@ taglib prefix="ex" uri="http://www.example.com/taglib" %>
Dies ist gleichbedeutend mit dem zweiten Beispiel, das ich oben für die taglib Richtlinie gab. Der größte Unterschied liegt darin, wie Sie auf den taglib Speicherort verweisen.
Diese Seite enthält ein bisschen mehr Informationen.
Andere Tipps
Leider können Sie etwas falsch. Wenn eine Seite ein taglib verwendet, müssen Sie es auf der Seite eine taglib Richtlinie haben. Sie könnten die gemeinsame taglib Richtlinien in einer Include-Datei platzieren, die alle Ihre Seiten mit einer Include-Direktive enthalten, aber bei der Kompilierung hat die taglib Richtlinie dort sein.
Ich ziehe es nicht um die taglib Elemente in der web.xml haben, und haben stattdessen die Anweisung taglib den URI-Wert angeben, der in der „uri“ Element in der TLD verwendet wird, die innerhalb der taglib JAR-Datei in Ihrem WEB- ist INF / lib.