2013年1月23日 星期三

Interview Struts2 Static Content

為了方便將javascript and css file包在jar裡面,Struts2提供了Static Content的機制,但Struts2怎麼處理browser cache的問題呢?答案就在org.apache.struts2.dispatcher.DefaultStaticContentLoader中。

從程式碼我們可以發現Struts2預設會將static content的cache設為一天,也可以設定
Struts XML
<constant name="struts.serve.static.browserCache" value="false" />
來強迫不要cache。

當然我們也可以自己implement org.apache.struts2.dispatcher.StaticContentLoader取代原本的DefaultStaticContentLoader,只要設定
Struts XML
<bean type="org.apache.struts2.dispatcher.StaticContentLoader" class="MyStaticContentLoader" name="myLoader" />
<constant name="struts.staticContentLoader" value="myLoader" />
就可以了。