grails的分页查询

第一步:代码示例:

def searchForm() {
    if(!params.max ) params.max=2
    if(!params.offset) params.offset=0
    def serachClosure = {
        if (params.categoryName){
            category {
                eq('categoryName', params.categoryName)
            }
        }
        ......
        maxResults( params.max as Integer)  //不写也可以
    }
    def c = Goods.createCriteria()
    params.sort="price"
    params.order="asc"
    def goodList=c.list(params,serachClosure)
    def goodsCount=goodList.totalCount
    println  "$goodsCount"
    render(view:'index',model:[goodsInstanceList:goodList,goodsInstanceCount: goodsCount] )  //如果不写goodsInstanceCount,需要执行第三步,否则第二步结束

    /*def c = Goods.createCriteria()
    def results = c.list{
        ....
    }
    redirect(view: 'index',model: [goodsInstanceList: results])*/
}

第二步:转到index,代码修改为:

def index(Integer max) {
    params.max = Math.min(max ?: 2, 100)  // 此处设置页面显示的条数
    respond Goods.list(params), model:[goodsInstanceCount: Goods.count()] 
}

第三步:index.gsp页面中: (是否执行决定于第一步)

<div class="pagination">
   %{--<g:paginate total="${goodsInstanceCount ?: 0}" />--}%
   <g:paginate total="${goodsInstanceList.totalCount}" params="${params}" />
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值