当我点击分页按钮时出现此错误:
处理GroovyPageView时出错:标签[paginate]在/home/user1/workspace/adm-appserver-manager/grails-app/views/emailNotification/status.gsp:59 <缺少必需属性[total] / p>
我的代码是: 在gsp:
<div class="paginateButtons">
<g:paginate total="${emailNotificationInstanceTotal}" />
</div>
控制器中的:
def status = {
[
emailNotificationInstanceList:EmailNotification.findAllByStatus(EmailNotification.Status.Sent, params ),
emailNotificationInstanceTotal:EmailNotification.countByStatus(EmailNotification.Status.Sent)
]
}
我提到了总属性,但我不知道为什么会出现这个错误
答案 0 :(得分:2)
确保您的控制器在返回或渲染中返回此参数。如果源调用失败,您还应该在控制器或视图中添加默认值。
<g:paginate total="${emailNotificationInstanceTotal?:0}" />
或者
emailNotificationInstanceTotal: EmailNotification.countByStatus(EmailNotification.Status.Sent)?:0
答案 1 :(得分:0)
问题是emailNotificationInstanceTotal为null,因此您需要验证从控制器发送的值,或者何时定义此变量以确保它不为null并且int值为0或更高。
答案 2 :(得分:0)
尝试重新生成控制器。在我的情况下,我曾经更改了域类名,但我没有重新生成导致我出错的控制器
答案 3 :(得分:0)
grailsPaginationTag主要用于处理您在特定网页上呈现的列表的分页。
在Oodles Technologies,我们与Grails Development广泛合作。
对于这个插件,只需在config.groovy文件中添加一行。
编译&#34;:远程分页:0.4.8&#34;
远程分页插件为我们提供了使用ajax进行分页的标签,而无需加载页面。它为我们提供了许多用于所需对象列表的分页标记。
例如:
public class Person{
String name
long id
}
在控制器上
public class PersonController{
def list{
[list:Person.list()]
}
def filterPersonList{
render('listTemplate',model:[count:Person.list().size(),list:Person.list()])
}
}
现在在你的_listTemplate gsp
上操作:分页中使用的链接名称
总计:列表大小
update:包含模板的div / span的id
max:获取最大列表
params:传递你自己的参数
maxsteps:分页显示的步数
这可能有助于摆脱错误。
希望它有所帮助。