第一步:代码示例:
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>