• grails框架的g:paginate分页标签的使用


    我用到的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参数,效果同控制器中添加

     

  • 相关阅读:
    iphone的苹果式营销体会
    上海自驾游之水博园游记
    2011上海车展参观记(多图)
    一部烂电影《让子弹飞》
    坚持自己读罗永浩《我的奋斗》感悟
    转:心理测试
    我们只要世界第一
    一篇小学课文
    iphone 4 初体验
    Setting Expires and CacheControl: maxage headers for static resources in ASP.NET
  • 原文地址:https://www.cnblogs.com/stu-wrl/p/5847499.html
Copyright © 2020-2023  润新知