今天看了一天的Struts 2的資料文檔,對Struts 2 簡化了部署與減少代碼量等更多優點,非常有興趣去了解,可能的話,可以推廣起來的。
讀完官方自帶的showcase的主配置和主代碼框架,依稀的感覺到單論Struts2+Spring2+Hibernate3.2而言,還是能夠把老經驗順手沾來直接使用的,就是說可以做到簡單的升級到 2.0版本來。但是我們大量採用的tiles部份,目前我瞭解的較少,單從配置上來說,就已經發生了一些改變,其他文件方面倒是沒有什麼改變。
這是原Struts1在struts.xml文件當中配置的:tiles相關的配置部份:
- <plug-in className="org.apache.struts.tiles.TilesPlugin">
- <set-property property="definitions-config"
- value="/WEB-INF/config/tiles-defs.xml" />
- <set-property property="definitions-parser-validate"
- value="true" />
- <set-property property="moduleAware" value="true" />
- </plug-in>
在struts2當中明顯不再採用struts1著名的plugin技術了,直接在web.xml中多了這樣的配置:
- <listener>
- <listener-class>
- org.apache.struts2.tiles.StrutsTilesListener
- </listener-class>
- </listener>
然後直接就配置tiles.xml文件,如下:
- <!DOCTYPE tiles-definitions PUBLIC
- "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
- "http://struts.apache.org/dtds/tiles-config_2_0.dtd">
- <tiles-definitions>
- <definition name="showcase.index" template="/tiles/layout.jsp">
- <put-attribute name="title" value="Tiles Showcase"/>
- <put-attribute name="header" value="/tiles/header.jsp"/>
- <put-attribute name="body" value="/tiles/body.jsp"/>
- </definition>
- <definition name="showcase.freemarker" template="/tiles/layout.jsp">
- <put-attribute name="title" value="Tiles/Freemarker Showcase"/>
- <put-attribute name="header" value="/tiles/header.jsp"/>
- <put-attribute name="body" value="/tiles/body.ftl"/>
- </definition>
- </tiles-definitions>
目前看起來,struts2使tiles的應用更加簡化和快捷了。單論tiles2而言,還是比較複雜用的,但是struts簡化他的部署了。
以下是在struts2中必須有的與tiels2相關的文件,考貝到項目的lib目錄就OK了。
struts2-tiles-plugin.jar、tiles-api-2.0.4.jar、tiles-core-2.0.4.jar、tiles-jsp-2.04.jar
後三個文件,從tiles.apache.org下載tiles工程。
過段時間,我詳細寫出一些較完整的應用例子。