天天看點

SpringMVC分頁和搜尋分頁

        分頁使我們經常需要使用的功能,昨天在Spring MVC中實作了簡單的分頁操作和搜尋分頁,在此記錄一下。使用的架構為(MyBatis+SpringMVC+Spring)。

        首先我們需要一個分頁的工具類:

       有了這個工具類後,首先編寫MyBatis的XxxxMapper.xml配置檔案中的SQL語句,如下:

       此處我們可以看到,2個<select>需要分别傳入3個和1個參數,此時在對應的DAO檔案IXxxxDao中編寫接口來編寫對應的方法,方法名和mapper.xml中的id屬性值一緻:

接口定義完成之後需要編寫相應的業務接口和實作方法,在接口中定義這樣一個方法,然後實作類中覆寫一下:

接下來實作類中的方法就是要調用DAO層和接受Controller傳入的參數,進行業務邏輯的處理,request用來擷取前端傳入的參數,model用來向JSP頁面傳回處理結果。

       接下來是控制器的編寫,當使用者需要跳轉到這個現實産品的頁面時,就需要經過這個控制器中相應方法的處理,這個處理過程就是調用業務層的方法來完成,然後傳回結果到JSP動态顯示,伺服器端生成好頁面後傳給用戶端(浏覽器)現實,這就是一個MVC過程。

JSP頁面接受部分我就不寫了,每個人都一樣,也就是結合JSTL和EL來寫,(在循環輸出的時候也做了判斷,如果接受的參數為空,那麼輸出暫無商品,隻有接受的參數不為空的時候,才循環輸出,使用<<c:when test="${}">結合<c:otherwise>),這裡隻給出分頁的相關代碼:

       關于查詢分頁,大緻過程完全一樣,隻是第三個參數(上面是loginUserId)需要接受使用者輸入的參數,這樣的話我們需要在控制器中接受使用者輸入的這個參數(頁面中的<input>使用GET方式傳參),然後将其加入到SESSION中,即可完成查詢分頁(此處由于“下一頁”這中超連結的原因,使用了不同的JSP頁面處理分頁和搜尋分頁,暫時沒找到在一個JSP頁面中完成的方法,出現了重複代碼,這裡的重複代碼就是輸出内容的那段代碼,可以單獨拿出去,然後用一個<include>标簽加載到需要的JSP頁面就可以了,這樣可以避免代碼重複):

      這裡給出控制器的代碼作為參考:

繼續閱讀