freemarker.runtime-模板处理错误:“未为定义映射http://www.springframework.org/security/tags"
Spring security:3.0.2 自由标记:2.3.19 我想在freemarker中使用springSecurity标记,但它会引发以下错误: [16 14:10:46349错误][btpool0-0]freemarker.runtime-模板处理错误:未为定义映射 没有为定义映射 有问题的指令: ==>assignment:security=JspTaglibs[http://www.springframework.org/security/tags][在宏/header.ftl的第1行第1列] 在用户指令page.bodytemplate[在items.ftl第6行第1列] ftl: pom.xmlfreemarker.runtime-模板处理错误:“未为定义映射http://www.springframework.org/security/tags",tags,spring-security,freemarker,Tags,Spring Security,Freemarker,Spring security:3.0.2 自由标记:2.3.19 我想在freemarker中使用springSecurity标记,但它会引发以下错误: [16 14:10:46349错误][btpool0-0]freemarker.runtime-模板处理错误:未为定义映射 没有为定义映射 有问题的指令: ==>assignment:security=JspTaglibs[http://www.springframework.org/security/tags][在宏/header.ftl的
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.0.2.RELEASE</version>
</dependency>
您要下载的标记库似乎包含标记org.springframework.security.taglibs.authz.AclTag。 Spring Security taglibs的上一个版本是2.0.7版本,因此出现了这个问题
您可以将spring更改为2.0版本。或者您可以从下载security.tld并在freemarker模板上使用它,如下所示:不工作。。。我试着像您一样使用它,但我也遇到了同样的问题。您要下载的标签库似乎包含org.springframework.security.taglibs.authz.AclTag标签。 Spring Security taglibs的上一个版本是2.0.7版本,因此出现了这个问题
您可以将spring更改为2.0版本。或者您可以从下载security.tld并在freemarker模板上使用它,如下所示:不工作。。。我试着像你一样使用它,我也遇到了同样的问题。我在切换到运行jetty run maven模块时遇到了这个错误。 模块jetty:运行时没有此错误 这帮助了我: 下载spring-security.tld文件并将其放入webapp/WEB-INF/tld文件夹中 将此代码添加到web.xml:
<jsp-config>
<taglib>
<taglib-uri>http://www.springframework.org/security/tags</taglib-uri>
<taglib-location>/WEB-INF/tld/spring-security.tld</taglib-location>
</taglib>
</jsp-config>
当切换到运行jetty run maven模块时,我遇到了这个错误。 模块jetty:运行时没有此错误 这帮助了我: 下载spring-security.tld文件并将其放入webapp/WEB-INF/tld文件夹中 将此代码添加到web.xml:
<jsp-config>
<taglib>
<taglib-uri>http://www.springframework.org/security/tags</taglib-uri>
<taglib-location>/WEB-INF/tld/spring-security.tld</taglib-location>
</taglib>
</jsp-config>
这不起作用的原因与Servlet容器以及规范有关。如果您通过名称空间关联taglib,那么只有当JAR位于WEB-INF/lib文件夹中时,它才会自动进行关联
如果您将spring-security-taglibs.jar移动到WEB-INF/lib文件夹中,它将起作用。这不起作用的原因与Servlet容器以及规范有关。如果您按名称空间关联taglib,则只有当jar位于WEB-INF/lib文件夹中时,它才会自动执行此操作
如果您将spring-security-taglibs.jar移动到WEB-INF/lib文件夹中,它就会工作。如果问题发生在tomcat7 maven插件上,而不是jetty maven插件上,您很可能会遇到tomcat7未完全初始化的servlet上下文 用tomcat:run代替tomcat:RunWar
后者确保您的web应用程序几乎完全处于构建和引导状态,就像在/web-INF/libs中使用JAR一样。freemarker对TLD的扫描逻辑将非常有效。如果问题发生在tomcat7 maven插件上,而不是jetty maven插件上,那么您很可能会遇到tomcat7未完全初始化的servlet上下文 用tomcat:run代替tomcat:RunWar
后者确保您的web应用程序几乎完全处于构建和引导状态,就像在/web-INF/libs中使用JAR一样。freemarker对TLD的扫描逻辑将非常有效。您是否配置了web.xml或configuration.xml,您使用过哪种?对我来说,这似乎是一个映射问题。@TheDarkKnight,我只是配置pom.xml。我不认为这就是在pom.xml中配置spring安全性的全部内容。请在此处使用此链接:。它向您展示了如何使用spring安全性配置pom.xml。@感谢您的回复,我已经对这些进行了配置,这对此错误没有帮助。您是否配置了您使用的web.xml或configuration.xml?对我来说,这似乎是一个映射问题。@TheDarkKnight,我只是配置pom.xml。我不认为这就是在pom.xml中配置spring安全性的全部内容。请在此处使用此链接:。它向您展示了如何使用spring安全性配置pom.xml。@感谢您的回复,我已经对这些进行了配置,这对此错误没有帮助。感谢您的回复,我使用它来修复此问题。感谢您的回复,我使用它来修复此问题。