天天看點

WebWork2與SpringFramework內建之執行個體篇(原創)(6) (完)

6 WebWork2 Spring MVC Framework 的比較

最後列出本人對WebWork2和Spring MVC Framework使用的一些個人觀點,不對的地方請予以更正。

1 )基本使用

l         Spring MVC Framework與Spring的其它部分一起使用自然能夠很好的融合,不需要額外的工具包和配置

l         WebWork2和Spring內建需要webwork2-spring.jar做連接配接器,并要做相當步驟的配置,不過還算簡單

2 )控制器

l         Spring MVC Framework的控制器要實作Controller接口,其處理核心是handleRequest(表單互動是onSubmit)方法,主要任務是構造Model資料傳回給視圖顯示

l         WebWork2的控制器要擴充ActionSupport類(Action接口的預設實作),其處理核心是execute方法,由于視圖需要的Model資料都是以Action屬性的形式存在,其主要任務是設定這些屬性的值

3 )顯示視圖内容

l         Spring MVC Framework隻提供綁定表單域元素的taglibs,視圖内容顯示功能則由JSTL完成

l         WebWork2需要使用自己提供的taglibs顯示視圖内容,才能很好的利用它的特性,是以不需要JSTL

4 )資源束通路

l         Spring MVC Framework提供通用的方法:指定(集中)存放資源束的屬性檔案,并能和JSTL的<fmt:message>很好的結合使用

l         WebWork2使用Action類名或其父類名對應的屬性檔案存放資源束;資源束可以分散到各Action類名對應的屬性檔案中,也可以集中到父類名對應的屬性檔案中,用<ww:text>通路

5 )表單互動

l         Spring MVC Framework使用Command對象(POJO)封裝表單互動傳遞的資料,并使用taglibs綁定Command對象的屬性到表單域元素,來讀取和設定表單域元素的值,有些複雜

l         WebWork2将Action屬性和表單域元素自然綁定,比較簡潔明了,但是其驗證失敗後錯誤資訊的處理沒有Spring MVC Framework簡潔

6 )資料有效性驗證

l         Spring MVC Framework需要自己編寫驗證器,并且驗證規則和實作邏輯混合在一起,不利于重用

l         WebWork2提供比較靈活的驗證機制:首先是将驗證規則和實作邏輯分離,便于重用;其次是WebWork2和XWork提供了常用的驗證器,不需要再自己寫了;此外,驗證規則用XML檔案儲存,修改驗證規則隻要修改XML檔案,不需要修改代碼;最後,如果沒有适合的驗證器,也可以自己擴充定制驗證器,寫一次就可以重複利用

7 )個人觀點

本人認為使用WebWork2來實作Web應用層更好些,雖然需要做一些額外的配置,但是WebWork2有它的一些優勢,如前面講的表單互動的簡潔性,資料驗證的規則和實作分離,另外還有內建的OGNL特性,Velocity技術等。

注:Spring也支援Velocity,沒有深入研究,可以自己去看看

繼續閱讀