我们有一个struts 2 tiles应用程序,我们正在使用freemarker进行查看。 我们正在从2.3.15迁移到struts 2.3.34。 在下面的tile定义中,模板文件没有被freemarker加载,也没有被解析。 相反,depositLayout.ftl中的内容在未经解析的情况下呈现。
options.ftl文件由freemarker加载并正确呈现。
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="deposit" template="/layouts/deposits/depositLayout.ftl">
<put-attribute name="body" value="/deposits/options.ftl" />
</definition>
</tiles-definitions>
我们正在使用以下版本的罐子并加载所有必需的罐子。
的struts2 - 弹簧 - 插件-2.3.34.jar
struts2的瓷砖-插件-2.3.34.jar
瓦片-API-2.2.2.jar
瓦片核-2.2.2.jar
我已启用tile和freemarker的日志跟踪,下面是日志。
Initializing Tiles2 container. . .<br/>
Tiles2 container initialization complete.<br/>
Publishing TilesContext for context: org.apache.catalina.core.ApplicationContextFacade<br/>
Using object wrapper of class freemarker.template.DefaultObjectWrapper<br/>
Rendering freemarker tile ...<br/>
Adding support for Tiles tags, please remember to register {} in web.xml!<br/>
TemplateLoader.findTemplateSource("layouts/deposits/head.ftl"): Found<br/>
任何人都可以帮助我为什么apache tile无法加载在defintion标签中指定为属性的模板而不能用freemarker解析它? 如果我指定为定义标记的属性,则呈现相同的ftl。 如果我将jsp文件指定为模板,它可以正常工作。