最近一段時間沒都有發文章,忙着跑房子的事情去了。買房子可真麻煩,錢少就是麻煩,以後要想辦法多賺錢換個大點的房子。
上次研究完SimpleFormController後,發現MultiActionController或者CommandController都各有各的用途。
簡單介紹一下:
控制類型
|
類
|
適用於
|
簡單
|
Controller(接口)
AbstractController |
控制器非常簡單,需要的功能和java applet差不多
|
一次性
|
ThrowawayController
|
你需要像命令那樣的簡單請求處理方式(類似Webwork的Action)
|
多動作
|
MultiActionController
|
應用系統中有多個動作處理相似或相關的邏輯
|
命令
|
BaseCommandController
AbstractCommandController |
控制器會從請求接受一個或多個參數,然後將他們綁定到一個對象中,而且提供參數驗證的功能
|
表單
|
AbstractFormController
SimpleformController
|
需要給用戶顯示一個表單,並且處理輸入表單的數據
|
嚮導
|
AbstractWizardFormController
|
你需要帶領用戶通過一個複雜的,多頁面的輸入表單,最後按一個表單處理
|
1,直接跳轉到一個固定視圖,而不需要作任何後臺邏輯操作的時候。使用ParamaterizableViewController。
2,當執行簡單的請求,有0個或少數的幾個請求參數,並要在後臺執行一些操作的時候。可以使用Controller或AbstractController。
3,當請求參數有多個的時候,可以使用AbstractCommandController。
4,當要使用一個controller去執行多個相似的動作時候,可以使用MultiActionController。可以減少controller的數量。
5,當要進行單一表單處理時,利用SimpleFormController。
6,要通過表單嚮導執行多個表單數據處理的時候,可以使用AbstractWizardFormController。
以上是一些高手的總結.....這些Controller使用的辦法不一樣,參數和效果也不一樣,根據自己的要求來選定。
在性能方面和標準化方面有一些爭議,不過這些都是風格的問題,我個人的看法。可以根據你自己的要求來修改或者繼承任何一個Controller
來達到你的要求,非常靈活的代替方法 ^_^
看完以上這些方法以後,我接着介紹自己已經研究完成的項目:關於MultiActionController
最近都沒寫代碼了,處理一堆亂七八糟的事情,看到了還要想一下關聯,反應變遲鈍了.....
LevelAction.java
以上代碼中含有基本分頁,我使用了Hibernate的Criteria
- ModelAndView add
- ModelAndView del
- ModelAndView list
- ModelAndView find
- ModelAndView modfiy
以上的方法的定義在dispatcherServlet.xml
以上我定義了兩個映射,可以清晰的看到兩種映射的方式完全不一樣,多重映射使用會更加的方便。
關於頁面的調用方式
所有的多重映射的方法都採用/stu/Levelaction.do?method=???來進行調用。
多重映射還有其他的方式來調用,請參考http://blog.csdn.net/kypfos/archive/2008/10/21/3117047.aspx
今天先寫到這裏了,如果需要我寫出hibernate詳細的分頁的做法,請寫信告訴我。未完待續…………