freemarker.runtime-模板处理错误:“未为定义映射http://www.springframework.org/security/tags"

freemarker.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的

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

    <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。@感谢您的回复,我已经对这些进行了配置,这对此错误没有帮助。感谢您的回复,我使用它来修复此问题。感谢您的回复,我使用它来修复此问题。