我想在我的grails应用中添加一些分页功能。我有列表操作,并且在其中执行了以下操作:

if(!params.max){
params.max = 3
}
    def query = Profile.where {
        userType == "F"
    }
    def freelancers = query.list(sort:"firstName", max:params.max)
    if(freelancers) {
        def freelancersCount = query.count()
        return[freelancer:freelancers, fCount:freelancersCount]
    } else {
        response.sendError(404)
    }

在gsp中,我这样写:
<div id="paginate">
    <g:paginate controller="freelancers" action="list" total="${fCount}"/>
</div>

一切正常,在我的数据库中有5个对象,在浏览器中打开gsp页面时,我只能看到3个对象,但是当我单击“下一步”打开其他2个对象时,我会看到相同的3个对象。什么是错的,我该怎么办?

最佳答案

您需要将偏移量传递给对list的调用:

def freelancers = query.list(sort:"firstName", offset:params.offset,
max:params.max)

08-20 01:24