spring mvc作為展示層的組件,從參數預處理,驗證,攔截,渲染。無不考慮的細致入微,你所要的做的,只是接口實現,切面接入,簡單配置。
今天我們以分頁功能展開來說明,如何把我們復雜的參數處理從控制器進行剝離!
第一步
我們展示一個重量級的接口:HandlerMethodArgumentResolver

第一段紅色,表示在某個參數進行了注解之后,是否啟用自定義的參數處理,其實就是一個標識符
第二段紅色,是你的自定義的參數處理邏輯,里面可以封裝查詢參數的組裝邏輯
看一我的實現

重點看一下DataCriterias.getFromRequest()這個方法


主要分幾塊:
分頁參數: sDisplayStart(起始位置),sDisplayLength(顯示條數),sEcho(頁數)
查詢條件:columnDefs,某個字段的查詢,可以是完全匹配,也可以區間等等
排序條件:sortingColumnDefs,可以有多個排序條件,這個是有序的,看他的集合是LinkedList
最后組裝成一個DataCriterias
第二步:
XML配置,啟用我們自定義的參數預處理
其實就是針對RequestMappingHandlerAdapter把我們定義的DataCriteriasMethodArgumentResolver
注入進去。

第三步:
控制器使用例子


這樣,控制器在得到分頁查詢對象之后(DataCriterias),直接調用service,把封裝好的對象傳遞過去,后面再處理。最后以一曲sugar來結尾吧,哈哈。
我的微信公眾號,歡迎溝通學習。
posted on 2016-02-24 10:49
alexcai 閱讀(2925)
評論(1) 編輯 收藏