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

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

          第一步

          我們展示一個(gè)重量級(jí)的接口:HandlerMethodArgumentResolver


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

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

          看一我的實(shí)現(xiàn)


          重點(diǎn)看一下DataCriterias.getFromRequest()這個(gè)方法



          主要分幾塊:

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

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

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

          最后組裝成一個(gè)DataCriterias


          第二步:

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

          其實(shí)就是針對(duì)RequestMappingHandlerAdapter把我們定義的DataCriteriasMethodArgumentResolver

          注入進(jìn)去。


          第三步:

          控制器使用例子



          這樣,控制器在得到分頁查詢對(duì)象之后(DataCriterias),直接調(diào)用service,把封裝好的對(duì)象傳遞過去,后面再處理。最后以一曲sugar來結(jié)尾吧,哈哈。


          音樂  



          我的微信公眾號(hào),歡迎溝通學(xué)習(xí)。
          posted on 2016-02-24 10:49 alexcai 閱讀(2932) 評(píng)論(1)  編輯  收藏

          評(píng)論:
          # re: spring mvc中的Sugar ,你要來點(diǎn)嗎?[未登錄] 2016-03-11 11:10 | spring
          珠三角地區(qū)關(guān)注這方面技術(shù)的同學(xué)可以
          加QQ群479189837討論   回復(fù)  更多評(píng)論
            

          只有注冊用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 陆河县| 博野县| 五莲县| 安阳市| 千阳县| 浦县| 霍邱县| 华池县| 无为县| 大化| 桦川县| 罗田县| 油尖旺区| 开化县| 桐乡市| 大冶市| 鹤山市| 麟游县| 仁布县| 石渠县| 清丰县| 义马市| 徐州市| 衡水市| 察隅县| 南京市| 资阳市| 淮南市| 湟源县| 咸丰县| 康保县| 郸城县| 康定县| 奈曼旗| 钟山县| 邢台县| 辰溪县| 蛟河市| 息烽县| 安龙县| 巴马|