2015-02-17 14 views
6

Ich benutze Spring Boot.Spring Boot Taglibs

Ich habe eine JSP-Seite mit dem folgenden Tag Libs:

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

Als meine jsp Seite geladen wurde, bekomme ich folgende Fehlermeldung:

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

ist meine POM Abhängigkeiten sind:

<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> 

Irgendwelche Vorschläge?

+0

Das TLD für 'http: // www.springframework.org/tags/form' ist im' feder webmvc' jarfile; Öffnen Sie Ihre Pom-Abhängigkeiten, um zu prüfen, ob sie von 'Spring-Boot-Starter-Web' übernommen werden (ich benutze Spring-Boot 1.2.2-SNAPSHOT und es funktioniert dank dieser transitiven Abhängigkeit) –

+0

Also die Frage ist, ob ' spring-boot-starter-security stellt automatisch auch die Abhängigkeiten von 'feder-sicherheits-taglibs' zur Verfügung. Es scheint, dass es nicht - sie müssen explizit als separate POM Abhängigkeit Eintrag hinzugefügt werden - in welchem ​​Fall ist es sicher zu deklarieren, ohne Angabe einer Version? ('Spring-Boot-Starter-security' behandelt vermutlich die Versionierung für die Kernfeder Sicherheits-Lib usw.) – arcseldon

Antwort

12

Ich habe Abhängigkeit folgende:

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

Jetzt funktioniert es.

+0

Wie funktioniert die Versionierung in dieser Situation? Fehler erhalten: 'dependencies.pendency.version' für org.springframework.security:spring-security-taglibs:jar fehlt. – arcseldon

0

Gradle Benutzer mit Tomcat Plugin

Wenn Sie diese Fehlermeldung erhalten, auch wenn Sie Ihre Abhängigkeit gradle.build

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

in deklariert Und Sie den Tomcat-Plugin verwenden:

apply plugin: 'com.bmuschko.tomcat' 

Dann müssen Sie die Task tomcatRunWar stattausführen 10, so dass die Bibliothek in Ihrem Servlet-Container enthalten ist.

2

Fügen Sie die folgende Abhängigkeit

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>