2011-05-12 80 views
1

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

当我用tomcat启动我的应用程序时,一切正常。但我想使它与websphere6.1协同工作,但是当我启动它时,该页面需要20-30秒才会出现,而使用tomcat的话,这个时间超过1秒。

这里是日志我有我的WebSphere控制台上:

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

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

我试图创建一个文件“freemarker.properties”与道具:

template_update_delay=60000 

也试图提取“模板/简单的”在我的源根目录,在WEB-INF ...什么!

你有什么想法吗?

回答

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. 关闭记录和DEVMODE
    确保关闭Freemarker Logging(ESP Freemarker的生成记录了很多。)。

  2. 尝试使用Freemarker的等价,而不是使用JSP标签
    <s:property value="foo"/>${foo}更换(除了类型转换),大performancing加强对迭代