2015-02-17 26 views
6

Sto usando lo stivale a molla.Tagliere per stivale a molla

Ho una pagina JSP con le seguenti librerie di tag:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>   
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> 

Quando si carica la mia pagina jsp, ottengo il seguente errore:

The absolute uri: http://www.springframework.org/security/tags cannot be resolved in either web.xml or the jar files deployed with this application 

Queste sono le mie dipendenze POM:

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

Qualche suggerimento?

+0

il TLD per 'http: // www.springframework.org/tag/form' è nel' primavera-webmvc' jarfile; apri le tue dipendenze pom per verificare se è stato inserito da 'spring-boot-starter-web' (sto usando spring-boot 1.2.2-SNAPSHOT e funziona grazie a quella dipendenza transitiva) –

+0

Quindi la domanda qui è se' spring-boot-starter-security' fornisce automaticamente anche le dipendenze 'spring-security-taglibs'. Sembra che NON lo sia: devono essere aggiunti esplicitamente come una voce di dipendenza POM separata, nel qual caso è sicuro dichiarare senza specificare alcuna versione? ('spring-boot-starter-security' sta presumibilmente gestendo il versioning per la lib di sicurezza del core spring ecc.) – arcseldon

risposta

12

ho aggiunto seguente dipendenza:

<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-taglibs</artifactId> 
</dependency> 

Ora funziona.

+0

Come funziona il controllo delle versioni in questa situazione? Ottieni errore: manca 'dependencies.dependency.version' per org.springframework.security:spring-security-taglibs:jar. – arcseldon

0

utenti Gradle con Tomcat plugin

Se hai trovato questo errore, anche se avete la vostra dipendenza dichiarata in gradle.build

runtime "org.springframework.security:spring-security-taglibs:${springSecurityVersion}" 

e si utilizza il plugin Tomcat:

apply plugin: 'com.bmuschko.tomcat' 

Quindi è necessario eseguire l'attività gradle tomcatRunWar anziché tomcatRun, in modo che la libreria sia inclusa nel contenitore servlet.

2

Aggiungere il seguente dipendenza

For : <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> : 

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 


For : <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> : 

<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-taglibs</artifactId> 
</dependency> 
Problemi correlati