2011-05-12 173 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加強對迭代