gpt4 book ai didi

grails分页不起作用

转载 作者:行者123 更新时间:2023-12-02 14:17:15 25 4
gpt4 key购买 nike

我正在尝试在 grails 中使用分页标记,但它不起作用。

在 Controller 中:

def show(Integer max) {
params.max = Math.min(max ?: 10, 100)
def etpse
def total

if (params.data == 'all') {

etpse = Enterprise.findAll()
total = Enterprise.count()
}

else {
def paramsLike = "%" + params.data + "%"
etpse = Enterprise.findAllByKeywordLike(paramsLike)
total = Enterprise.countByKeywordLike(paramsLike)
}

[etpseList: etpse, instanceTotal: total]
}

在 gsp 中:
<div id='pagination'>
<g:paginate total="${instanceTotal}" />
</div>

最佳答案

paginate标签不会过滤页面中的结果,也不会呈现项目列表。它仅根据您的请求参数为下一页/上一页创建链接。

您的 Controller 负责获取正确的数据页面,您的 gsp 负责呈现实际的项目列表。
paginate标签参数旨在将参数与 GORM 注入(inject)的 list 相匹配方法,几乎​​总是齐头并进:

class ItemController {
def list() {
[items: Item.list(params), itemCount: Item.count()]
}
}

看法:
<g:each var="item" in="${items}">
<!-- render items here -->
</g:each>

<g:paginate controller="item" action="list" total="${itemCount}"/>

在上面的代码中,参数列表(包括 maxoffset 之类的东西)被传递给 list Item 的方法域类,这将抓取一页数据。

paginate 标记检查相同条目的请求参数,确定您正在查看的数据页面,并使用正确的 max 和 offset 值创建指向下一页和上一页的必要链接。

关于grails分页不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17068081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com