WebWork2和Spring MVC Framework的比較
最后列出本人對WebWork2和Spring MVC Framework使用的一些個人觀點,不對的地方請予以更正。
(1)基本使用
Spring MVC Framework與Spring的其它部分一起使用自然能夠很好的融合,不需要額外的工具包和配置
WebWork2和Spring集成需要webwork2-spring.jar做連接器,并要做相當步驟的配置,不過還算簡單
(2)控制器
Spring MVC Framework的控制器要實現Controller接口,其處理核心是handleRequest(表單交互是onSubmit)方法,主要任務是構造Model數據返回給視圖顯示
WebWork2的控制器要擴展ActionSupport類(Action接口的缺省實現),其處理核心是execute方法,由于視圖需要的Model數據都是以Action屬性的形式存在,其主要任務是設置這些屬性的值
(3)顯示視圖內容
Spring MVC Framework只提供綁定表單域元素的taglibs,視圖內容顯示功能則由JSTL完成
WebWork2需要使用自己提供的taglibs顯示視圖內容,才能很好的利用它的特性,因此不需要JSTL
(4)資源束訪問
Spring MVC Framework提供通用的方法:指定(集中)存放資源束的屬性文件,并能和JSTL的 WebWork2使用Action類名或其父類名對應的屬性文件存放資源束;資源束可以分散到各Action類名對應的屬性文件中,也可以集中到父類名對應的屬性文件中,用 (5)表單交互 Spring MVC Framework使用Command對象(POJO)封裝表單交互傳遞的數據,并使用taglibs綁定Command對象的屬性到表單域元素,來讀取和設置表單域元素的值,有些復雜 WebWork2將Action屬性和表單域元素自然綁定,比較簡潔明了,但是其驗證失敗后錯誤信息的處理沒有Spring MVC Framework簡潔 (6)數據有效性驗證 Spring MVC Framework需要自己編寫驗證器,并且驗證規則和實現邏輯混合在一起,不利于重用 WebWork2提供比較靈活的驗證機制:首先是將驗證規則和實現邏輯分離,便于重用;其次是WebWork2和XWork提供了常用的驗證器,不需要再自己寫了;此外,驗證規則用XML文件保存,修改驗證規則只要修改XML文件,不需要修改代碼;最后,如果沒有適合的驗證器,也可以自己擴展定制驗證器,寫一次就可以重復利用 (7)個人觀點 本人認為使用WebWork2來實現Web應用層更好些,雖然需要做一些額外的配置,但是WebWork2有它的一些優勢,如前面講的表單交互的簡潔性,數據驗證的規則和實現分離,另外還有集成的OGNL特性,Velocity技術等。 注:Spring也支持Velocity,沒有深入研究,可以自己去看看
原文轉自:http://www.anti-gravitydesign.com