【问题标题】:struts2 and freemarker templatestruts2 和 freemarker 模板
【发布时间】:2011-05-12 06:30:40
【问题描述】:

我在我的 web 应用程序中使用 struts2,在一个 jsp 文件中,我使用“迭代器”在一个表单中显示 3 个数组列表。

当我使用 tomcat 启动我的应用程序时,一切正常。但我想让它适用于 websphere6.1,但是当我现在启动它时,页面需要 20-30 秒才能出现,而 tomcat 则不到 1 秒。

这是我的 websphere 控制台上的日志:

(freemarker.cache 81 ) 在缓存中找不到模板,正在创建新模板; id=[template/simple/form.ftl[fr_FR,UTF-8,parsed] ]

在页面出现之前,我有将近 9000 行这种类型。

我尝试使用 prop 创建一个文件“freemarker.properties”:

template_update_delay=60000

还尝试在我的源根目录中提取“模板/简单”,在 WEB-INF 上......什么都没有!

你有什么想法吗??

【问题讨论】:

    标签: java struts2 freemarker


    【解决方案1】:

    在缓存中找不到模板

    模板文件夹应复制到 WEB_APP root 而不是 WEB-INF
    我的建议:将模板文件夹重命名为 templates 以区别于默认值。

    <constant name="struts.ui.templateDir" value="templates" />
    <constant name="struts.ui.theme" value="simple" />
    

    参考Struts2的Performance tuning

    1. 关闭日志记录和开发模式
      确保关闭Freemarker Logging(尤其是 Freemarker 会生成大量日志记录)。

    2. 尝试使用 Freemarker 等价物而不是使用 JSP 标签
      &lt;s:property value="foo"/&gt; 应替换为 ${foo}(类型转换除外),极大地增强了 迭代器。

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2013-04-11
      • 2012-10-13
      • 2012-06-25
      • 2011-04-28
      • 2012-11-01
      • 1970-01-01
      • 2011-12-03
      • 2013-03-18
      相关资源
      最近更新 更多