我在我的网络应用程序上使用struts2,在一个jsp文件中,我使用“iterator”在表单中显示3个arraylist。
当我用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上......没有!
你知道吗?答案 0 :(得分:1)
无法在缓存中找到模板
模板文件夹应复制到WEB_APP root
而不是WEB-INF
我的建议:将模板文件夹重命名为templates
,以区别于默认值。
<constant name="struts.ui.templateDir" value="templates" />
<constant name="struts.ui.theme" value="simple" />
请参阅Struts2的Performance tuning:
关闭日志记录和devMode
确保关闭Freemarker Logging(特别是Freemarker生成大量日志记录)。
尝试使用Freemarker等效项而不是使用JSP标记
<s:property value="foo"/>
应替换为${foo}
(类型转换除外),对迭代器进行良好的性能增强。