Grails分页最大结果



我想知道您如何设置最大分页结果,下面的代码继续将最大结果设置为默认值10。我想要25个。任何想法吗?

def list(Integer max) {
    def recoverySetupList = RecoverySetup.createCriteria().list {
            'in'("division", userService.getDivisions())
            maxResults(Math.min(max ? : 25, 100))
            firstResult(params.offset ? params.int('offset') : 0)
            if( params.sort && params.order ) {
                if(params.sort != 'peNameU') {
                    order params.sort, params.order
                } else {
                    oneSolName {
                        order params.sort, params.order
                    }
                }
            }
        }
    respond recoverySetupList, model:[recoverySetupInstanceCount: RecoverySetup.count()]
}

你好像把它修好了。应该工作,所以问题在别处,例如,在哪里设置了默认的最大值10,max是否分配了任何值,params.max呢?

您可以尝试将max和offset传递到列表- ..createCriteria().list(max: max, offset: offset)和去除maxResultsfirstResult从标准体

我认为你的代码第一次工作很好(当没有提供max时),但是当你按下任何分页链接时,它被设置为10。如果是这样的话,你还需要设置pagination标签的max,比如

<g:paginate max="25" total="${recoverySetupInstanceCount}"/>

请使用

            params.max = Math.min(params.max ? params.int('max') : 25, 100)
            int offset = 0;
            if(params.offset != null) {
                offset = (Integer.valueOf(params.offset));
            }

最新更新