Freemarker untime-模板处理错误:";没有为spring框架标记定义映射

Freemarker untime-模板处理错误:";没有为spring框架标记定义映射,freemarker,weblogic12c,Freemarker,Weblogic12c,我目前的开发环境是java 6、spring framework 3.2、weblogic 10.3.6,并使用Freemarker模板。在当前环境中一切正常,在浏览页面时看不到任何运行时问题 IDE:EclipseKepler4.3,我正在从EclipseIDE运行WebLogicServer。我的部署程序集来自开普勒附带的m2e插件 现在我正在升级到最新的Weblogic 12.1.2和java 7。我能够成功地构建、部署和发布模块,但在访问页面时,我发现freemarker模板存在运行时问

我目前的开发环境是java 6、spring framework 3.2、weblogic 10.3.6,并使用Freemarker模板。在当前环境中一切正常,在浏览页面时看不到任何运行时问题

IDE:EclipseKepler4.3,我正在从EclipseIDE运行WebLogicServer。我的部署程序集来自开普勒附带的m2e插件

现在我正在升级到最新的Weblogic 12.1.2和java 7。我能够成功地构建、部署和发布模块,但在访问页面时,我发现freemarker模板存在运行时问题

在tomcat部署论坛中讨论了一个相关问题,其中的解决方案是将spring-security-taglibs添加到pom文件中,并将spring-security-taglibs.jar放在WEB-INF/lib文件夹中。但这对我不起作用

非常感谢您对解决此问题的帮助。我看到许多与freemarker模板异常相关的帖子,但没有找到解决方案

下面是运行时错误,我看到了

2013-09-23 14:16:30696[[ACTIVE]ExecuteThread:'0'用于队列:'weblogic.kernel.Default(自调整)']错误freemarker.runtime-模板处理错误:“未定义映射”

有问题的指令:

程序员的Java回溯:
freemarker.template.TemplateModelException:没有为

定义映射听起来像freemarker的JSP扩展没有发现包含
http://www.springframework.org/tags
。它在
/WEB-INF/*.tld
/WEB-INF/lib/*.{jar,zip}/META-INF/*.tld
下查找它。如果它不在那里,并且您不想把它放在那里,您可以使用
taglib
元素将该URL映射到
web.xml
中的TLD文件位置。

这个问题解决了吗?如果我从WL管理控制台外部部署WAR,一切正常,没有freemarker模板错误。在从Eclipse(Mars)Weblogic 12.2.1部署WAR时,我遇到了类似的错误。解决方法是将TLD复制到WEB-INF,然后从eclipse部署,我不会得到任何错误。但是,不需要复制这些tld,因为它们位于WEB-INF/lib下的JAR文件中。

您是对的,我没有将*.tld文件显式复制到/WEB-INF或META-INF。我的pom.xml文件定义了依赖项,我在部署程序集中确实看到了它。我在我的.ftl中使用的是“.”,那么它在部署的应用程序中的什么位置?不是在
/WEB-INF/lib/*.{jar,zip}下/META-INF/*.tld
?我们没有在WEB-INF下专门部署*.tld文件。在这次weblogic升级到12c之前,它从来都不需要。weblogic 10.3.6的所有功能都很好,pom中有依赖项,freemarker中有访问url的功能,“据我所知,freemarker查找tld-s的地方只有我列出的地方。所以早些时候,它必须在其中一些地方。我认为您不必专门部署它们,就好像您已经将spring-youknowwhat.jar(我不知道spring…)部署到WEB-INF/lib中一样,它可能包含TLD。那些罐子不是搬到更高的地方了吗?只是一个提示…顺便说一句,你在FreeMarker tempalte中使用JSTL核心是为了什么?(我也不知道为什么Spring标记是JSP,而Spring有用于公开Spring功能的FreeMarker指令,但我对Spring了解不多。)