2015-02-17 3 views
6

Я использую весенний ботинок.Весенняя обувь taglibs

У меня есть страница JSP со следующими LIBS тегов:

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

При загрузке моей страницы JSP, я получаю следующее сообщение об ошибке:

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

Это мои 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> 

Любые предложения?

+0

ДВУ для 'HTTP: // www.springframework.org/теги/form' находится в' пружинно-webmvc' jarfile; откройте ваши зависимости pom, чтобы проверить, не втянуто ли оно «spring-boot-starter-web» (я использую Spring-boot 1.2.2-SNAPSHOT и работает благодаря этой транзитивной зависимости) –

+0

Итак, вопрос в том, spring-boot-starter-security' автоматически устанавливает зависимости «spring-security-taglibs». Похоже, что это НЕ - они должны быть добавлены явно как отдельная запись зависимости POM - в этом случае безопасно объявлять без указания какой-либо версии? ('spring-boot-starter-security', по-видимому, обрабатывает версии для основной библиотеки безопасности lib и т. д.) – arcseldon

ответ

12

я добавил следующие зависимости:

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

Теперь она работает.

+0

Как работает управление версиями в этой ситуации? Получить ошибку: «dependencies.dependency.version» для org.springframework.security :spring-security-taglibs:jar отсутствует. – arcseldon

0

пользователи Gradle с Tomcat плагин

Если вы получаете эту ошибку, даже если у вас есть зависимость объявлена ​​в gradle.build

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

И вы используете плагин Tomcat:

apply plugin: 'com.bmuschko.tomcat' 

Затем вы ДОЛЖНЫ запускать задачу градации tomcatRunWar вместо tomcatRun, так что библиотека включена в ваш контейнер сервлета.

2

Добавьте следующую зависимость

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> 
Смежные вопросы