我遇到的问题是没有在Grails网站上使用Groovy的列表中显示下一个/ prev选项。我修改了自动生成的控制器代码,将列表中的项目限制为用户创建的项目。这样可以正常工作,但是,如果用户有超过10个项目,则下一个/上一个按钮不会按预期显示。以下是相关的代码snippits ......
控制器:
def list = {
params.max = Math.min(params.max ? params.int('max') : 10, 100)
def login = authenticationService.getSessionUser().getLogin()
def authUser = AuthenticationUser.findByLogin(login)
def userAcct = User.findByLoginID(authUser)
def userServices = Service.createCriteria()
def results
if (userAcct.role == 'admin') {
results = userServices.list(params) {}
} else {
results = userServices.list(params) {
eq("userID", userAcct)
}
}
[serviceInstanceList: results, serviceInstanceTotal: results.count()]
}
GSP:
<div class="paginateButtons">
<g:paginate total="${serviceInstanceTotal}" />
</div>
当我使用具有“admin”角色的帐户登录时,下一个/ prev链接显示正常。当列出的项目超过10个时,非管理员帐户不会显示下一个/上一个链接。任何人都可以看看我做错了什么?
答案 0 :(得分:2)
您的条件应该为您提供一个具有totalCount的pagedResultList。所以试试吧 将控制器的最后一行更改为:
[serviceInstanceList: results, serviceInstanceTotal: results.totalCount]