spring mvc中的Sugar ,你要來點嗎?

spring mvc作為展示層的組件,從參數(shù)預(yù)處理,驗證,攔截,渲染。無不考慮的細(xì)致入微,你所要的做的,只是接口實現(xiàn),切面接入,簡單配置。

今天我們以分頁功能展開來說明,如何把我們復(fù)雜的參數(shù)處理從控制器進行剝離!

第一步

我們展示一個重量級的接口:HandlerMethodArgumentResolver

第一段紅色,表示在某個參數(shù)進行了注解之后,是否啟用自定義的參數(shù)處理,其實就是一個標(biāo)識符

第二段紅色,是你的自定義的參數(shù)處理邏輯,里面可以封裝查詢參數(shù)的組裝邏輯

看一我的實現(xiàn)

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

主要分幾塊:

分頁參數(shù): sDisplayStart(起始位置),sDisplayLength(顯示條數(shù)),sEcho(頁數(shù))

查詢條件:columnDefs,某個字段的查詢,可以是完全匹配,也可以區(qū)間等等

排序條件:sortingColumnDefs,可以有多個排序條件,這個是有序的,看他的集合是LinkedList

最后組裝成一個DataCriterias


第二步:

XML配置,啟用我們自定義的參數(shù)預(yù)處理

其實就是針對RequestMappingHandlerAdapter把我們定義的DataCriteriasMethodArgumentResolver

注入進去。

第三步:

控制器使用例子

這樣,控制器在得到分頁查詢對象之后(DataCriterias),直接調(diào)用service,把封裝好的對象傳遞過去,后面再處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容