Grails 分页:第一页显示所有结果

Grails 分页:第一页显示所有结果,grails,pagination,gsp,Grails,Pagination,Gsp,我想在几个页面上显示查询的结果,所以我使用标记分页。 我有正确的输出(我希望每页5个结果)在所有的网页,但第一个。 在第一页中,将显示所有结果 控制器: def questions(){ def questions = Question.list(params) [questions: questions, total: Question.count()?:0, tags: Tags.list(), params: params] } 看法 ${问题?.body} 为什

我想在几个页面上显示查询的结果,所以我使用标记分页。 我有正确的输出(我希望每页5个结果)在所有的网页,但第一个。 在第一页中,将显示所有结果

控制器:

 def questions(){
    def questions = Question.list(params)

    [questions: questions, total: Question.count()?:0, tags: Tags.list(), params: params]
}
看法


${问题?.body}

为什么所有结果都显示在第一页?

发生这种情况是因为
params
没有
max

设置
params.max=10
然后调用
questions()
将在第一页生成10个项目

// will result in Question.list(max: 10)
def questions = Question.list(params)

但是,请确保如果后续页面再次调用相同的操作,则必须将
params.max
设置为5或完全删除,因为
中的
max
将处理其余操作。

您可以在控制器操作的开头添加以下行:

params.max = params.max ?: 5
如果未给出
max
参数,则默认值为5

params.max = params.max ?: 5