Struts 2 apache tiles freemarker模板加载问题

时间:2017-09-26 14:59:06

标签: struts2 freemarker apache-tiles tiles2

我们有一个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-core-2.3.34.jar
  • 的struts2 - 弹簧 - 插件-2.3.34.jar

  • struts2的瓷砖-插件-2.3.34.jar

  • 瓦片-API-2.2.2.jar

  • 瓦片核-2.2.2.jar

  • tiles-jsp-2.2.2.jar
  • tiles-servlet-2.2.2.jar
  • xwork-core-2.3.34.jar
  • tiles-ognl-2.2.2.jar
  • freemarker-2.3.22.jar
  • tiles-freemarker-2.2.2.jar
  • tiles-el-2.2.2.jar
  • ognl-3.0.21.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文件指定为模板,它可以正常工作。

0 个答案:

没有答案