Struts2和Freemarker整合应用批量静态页面的生成
利用Struts2生成静态页面其实很灵活,很强大,尤其是利用Struts2对Freemarker较好的支持,充分利用Freemarker的模板功能来生成静态页面。
基本思路为:利用Struts2对自定义result type的支持,自定义能够生成静态页面的result type,结合模板引擎Freemarker可以实现大批量静态页面的生成。
参看org.apache.struts2.views.freemarker.FreemarkerResult的代码实现,自定义了自己的生成静态页面的result type。此种方案不单纯用于生成静态页面,其实也可以用于生成诸如wml、xhtml等内容,具体可以参考Struts2缺省提供的各种result type的实现。
1、com.mobilesoft.esales.webapp.action.FreemarkerResult
<action name=”staticViewAction” class=”com.mobilesoft.esales.webapp.action.StaticViewtAction”> <result name=”success” type=”staticview”> <param name=”location”>test/freemarkertest.ftl</param> <param name=”contentType”>text/html</param> <param name=”fileName”>${filename}</param> <param name=”staticTemplate”>test/freemarkertest.ftl</param> <param name=”filePath”>static</param> </result> </action>
?