Spring Security,JSP 标记库错误
Posted
技术标签:
【中文标题】Spring Security,JSP 标记库错误【英文标题】:Spring Security, JSP Tag Lib Error 【发布时间】:2014-03-17 22:27:57 【问题描述】:我想在我的 JSP 文件中包含 spring 安全标签(意味着在 JSP taglib scriptlet 中),所以我在我的 JSP 中添加了以下行 taglib prefix="security" uri="http://www.springframework.org/security/tags"(在JSP标签库中)
但我收到以下错误 home.jsp:2:5:找不到带有此 URI 的标记库。可能的原因可能是 URI 不正确,或者解析 .tld 文件时出错。
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
【问题讨论】:
【参考方案1】:<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
这些对我有用
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>$spring.security.version</version>
<scope>$defaultScope</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>$spring.security.version</version>
<scope>$defaultScope</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>$spring.security.version</version>
<scope>$defaultScope</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>$spring.security.version</version>
<scope>$defaultScope</scope>
</dependency>
其中 spring.security.version = 3.1.4.RELEASE。
并确保您已包含正确的 jst jar。
【讨论】:
不,它对我不起作用 :( 但感谢您的建议以及我正在使用 webLogic 服务器的另一件事,我们还需要对 web.xml 文件进行任何更改 我发现这不是一个好方法,但它对我有什么作用【参考方案2】:Gradle,添加到 build.gradle
compile "org.springframework.security:spring-security-taglibs:$springSecurityVersion"
或
compile "org.springframework.security:spring-security-taglibs:3.2.0.RELEASE"
或你的版本
【讨论】:
【参考方案3】:我发现其他方法不是一个好方法,但它对我的工作方式如何,我已将所有 .class 复制到 /WEB-INF/class 并将 .tld 文件复制到 /WEB-INF 和当我部署项目时,我使用的是
【讨论】:
以上是关于Spring Security,JSP 标记库错误的主要内容,如果未能解决你的问题,请参考以下文章
添加“spring-security-taglibs”后jsp中仍然报错:找不到spring security标签的标签库描述符
Spring Security 授权标签 - HTTP 状态 500
如何在jsp中为spring security auth异常显示自定义错误消息
Spring Security UserNotFoundException 在带有 JSP 视图模板的 Spring Boot 中不显示错误消息