Grails paginate用法

时间:2011-12-13 15:34:18

标签: grails controller paginate

这段代码出了什么问题,因为我得到的所有结果都返回到视图中,这需要我加载太多。我希望它每页只返回5个。

控制器:

{

    def channel2 = Channel2.list(params)
    //def prog = Programmation.list()
    def prog
    def progs = [:]
    def temp

    channel2.each{
       Programmation p = Programmation.withCriteria {
          eq('prog_channel', it)
          'between'('prog_start', new Date(), new Date() +1)    
        }
        progs.put(it.id, p)
    }

    [channel: channel2, program: progs]

}

GSP

<g:render id="" template="/layouts/canais"/>

<g:paginate next="Forward" prev="Back"
        maxsteps="0" max="3" controller="teste"
        action="myProgramms_canais"  
        total="${tv_megazineplus.Channel2.count()}" />

我无法理解。我跟着Grails helpPage,它应该正常工作。

1 个答案:

答案 0 :(得分:0)

解决方案:第一次调用该操作时,它会加载所有通道,因为params.max设置为null。要解决这个问题,只需使用:

def offset

        if(!params.offset){
            offset = 0
        }

        def channel2 = Channel2.list(max:5, offset: offset)