[英]Spring security taglib is not visible while using spring mvc integration tests
我正在尝试使用MockMvc类进行一些“集成”测试
我用:
this.mockMvc.perform(
get("/admin"))
.andExpect(status().isOk())
.andDo(print());
但是负责生成页面的freemarker正在使用安全性taglib
<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />
Maven的依赖:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
测试时似乎不可用。例外:
The following has evaluated to null or missing:
==> security [in template "lib/abc.ftl" at line 170, column 19]
应用程序本身可以正常工作,但是我必须使用mvn tomcat:run-war而不是mvn tomcat:run来获得taglib。
我不得不复制
~/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.0.RELEASE/spring-security-taglibs-3.2.0.RELEASE.jar
到我的WEB-INF / lib文件夹。 然后我遇到了另一个关于Missiong'Tag'类的问题,所以我不得不添加
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
复制粘贴该jar文件似乎是一种肮脏的解决方法..请让我知道是否有更好的解决方案。
有一种使用mvn tomcat7:run而不是run-war来运行它的方法,因此可以在不重新启动服务器的情况下加载taglib和刷新模板文件。 只需添加
<jarScanAllDirectoriescontextReloadable>true</jarScanAllDirectoriescontextReloadable>
<contextReloadable>true</contextReloadable>
到pom.xml中的tomcat7-maven-plugin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.