grails架構的g:paginate分頁標籤的使用

來源:互聯網
上載者:User

標籤:

我用到的grails是2.4.4。

該版本下遊一個標籤g:paginate

該標籤下有以下幾個參數:total(必須要填寫的項)、controller、action、prev、max、offset等等,我用到的有這幾個參數,詳細參數的使用參考API文檔。

普通分頁:(Tsystemparam是我代碼的一個域類)

後台代碼:寫在控制器下需要執行的方法

params.max=5//給params參數附一個map集合key=max、value=5,每頁展示的資料條數

\\跳轉到showsysParamList.gsp頁面,傳遞到前台的map集合帶有查出來的所有資料和資料的總數量,在使用list方法時一定要傳入params參數,因為params參數設定了每頁顯示的資料量和offset(位移量,如果不設定max和offset則預設值為10,設定了max之後offset可以根據資料來自動調整位移量)。統計的數量的總個數一定要傳遞個前台,用前台的total來接收。
render(view:"showsysParamList",model:[sys:Tsystemparam.list(params),sysCount:Tsystemparam.count()])

帶條件分頁

//給params添加map集合key=max,value=5

params.max=5;

//Grails的 HibernateCriteriaBuilder 執行個體,可用來構建Criteria查詢。 

 def c = Tsystemparam.createCriteria()
  //params的值必須要有,否則會無法使用totalCount方法

 def results = c.list(params) {
   like("name", "%w%")  

//可以帶其他條件查詢或者排序,我的只用到了模糊查詢其餘的都省略了

//and {  //      between("balance", 500, 1000)    //    eq("branch", "London")    //}    //maxResults(10)    //order("holderLastName", "desc")


  }

//totalCount方法只有在def results = c.list(params) {傳遞給list方法params參數才可以使用params可以使用max:5,offset:0來代替
  render(view:"showsysParamList",model:[syst: results, sysCount:results.totalCount]) 
 

前台代碼:只需添加該標籤即可

<g:paginate next="下一頁" prev="上一頁"   controller="system"     action="sysparamlist" total="${sysCount}"/>

total接收到的是控制器傳遞過來的查詢出來的總共的數量,如果在前台沒有設定max和offset可以在p:paginate標籤下添加max和offset參數,效果同控制器中添加

 

 

 

 

 

 

 

grails架構的g:paginate分頁標籤的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.