Sto usando spring con freemarker come motore di template. Freemarker permette di utilizzare il Jsp Taglibs, per la sicurezza, ad esempio, con l'aggiunta diAggiunta di una libreria Spring per l'utilizzo di Taglibs JSP per la sicurezza in Freemarker
<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />
ai modelli, quello che mi permette di utilizzare per esempio
<@security.authorize ifNotGranted="ROLE_ADMIN">
whatever
</@security.authorize>
Ma, Primavera/Freemarker non riesco a trovare le taglibs, a meno che non vengano aggiunti al classpath, quindi ho aggiunto
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring.version}</version>
</dependency>
al mio pom.xml nel mio progetto.
Ma in ogni caso, i tag non sono stati trovati! Ho dovuto aggiungere spring- security-taglibs.jar nella cartella WEB-INF/lib per trovare i tag.
Qualcuno sa perché il barattolo deve essere aggiunto esplicitamente nella cartella lib ?? Perché non sono stati trovati da Tomcat, nel mio caso?
EDIT @ddekany
Grazie. Lo StackTrace è il seguente, se la primavera-security-taglibs.jar non viene copiato nella directory 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
...
Penso che dovresti includere l'esatto messaggio di errore nella tua domanda. Inoltre, non penso che la specifica JSP sembri che cerca i * taglibs * ('tld'-s) usando la corrente (?) caricatore di classi o simili, ma forse mi sbaglio. – ddekany