Grails列出最大结果

时间:2014-01-31 17:56:44

标签: grails

我有下面的控制器返回100+结果,我希望能够只通过json调用和某种方法传递10个结果,如果需要更多结果,应该再做一个请求,但我不确定怎么去做这个。

以下是我的控制器

def list(){
   def results = Domain.list(max: 10)
   withFormat {
       json (render results as JSON)
   }

}

有人可以指出我可以阅读文档的写入方向或查看可能会执行此操作的示例代码。

谢谢!

2 个答案:

答案 0 :(得分:1)

默认的脚手架模板是一个很好看的地方,因为它们显示了如何在list操作中进行分页。怎么样:

def list(){
   // max 10 unless something else was requested
   if(!params.max) params.max=10
   def results = Domain.list(params)
   withFormat {
       json (render results as JSON)
   }

}

要请求下一页结果,请使用.../list?offset=10&max=10,以便下次使用offset=20等。

请参阅有关分页参数如何工作的list()方法的文档。

答案 1 :(得分:1)

试试这个,

def c = Domain.createCriteria()
def results = c.list(max: 10, offset: 10) {    
    order("some", "desc")
}
withFormat {
    json { render results as JSON } 
}

Refer