Ich benutze Feder mit Freemarker als Vorlage-Engine. Freemarker ermöglicht die Jsp Taglibs, für die Sicherheit zum Beispiel zu verwenden, durch Zugabe vonHinzufügen von Spring-Bibliothek für die Verwendung von JSP Taglibs für Sicherheit in Freemarker
<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />
zu den Vorlagen, was ich zum Beispiel
<@security.authorize ifNotGranted="ROLE_ADMIN">
whatever
</@security.authorize>
Aber Frühjahr/Freemarker können nicht die Taglibs finden verwenden können, Wenn sie nicht dem Klassenpfad hinzugefügt werden, fügte ich in meinem Projekt
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring.version}</version>
</dependency>
zu meiner pom.xml hinzu.
Aber wie auch immer, die Tags konnten nicht gefunden werden! Ich musste die Spring-security-taglibs.jar in den WEB-INF/lib-Ordner für die gefundenen Tags einfügen.
Weiß jemand, warum das Glas explizit in den lib-Ordner hinzugefügt werden muss ?? Warum werden sie nicht von Kater gefunden, in meinem Fall?
BEARBEITEN @ddekany
Vielen Dank. Der Stacktrace ist die folgende, wenn die federsicherheits taglibs.jar nicht in das WEB-INF/lib
No mapping defined for http://www.springframework.org/security/tags
The problematic instruction: ---------- ==> assignment:
security=JspTaglibs["http://www.springframework.org/security/tags"]
[on line 12, column 1 in home.ftl] in user-directive content.main
[on line 8, column 9 in home.ftl] in user-directive layout.global
[on line 2, column 1 in home.ftl]
---------- Java backtrace for programmers: ----------
freemarker.template.TemplateModelException:
No mapping defined for http://www.springframework.org/security/tags at
freemarker.ext.jsp.TaglibFactory.get(TaglibFactory.java:180) at
...
kopiert
Ich denke, Sie sollten die genaue Fehlermeldung in Ihre Frage aufnehmen. Außerdem glaube ich nicht, dass die JSP-Spezifikation darauf abzielt, nach den * taglibs * ('tld'-s) zu suchen, die den aktuellen (?) Klassenlader oder so, aber ich liege da vielleicht falsch. – ddekany