gpt4 book ai didi

搜索结果的 grails 分页

转载 作者:行者123 更新时间:2023-12-04 20:50:05 25 4
gpt4 key购买 nike

我有域“国家/地区”,在 list.gsp 上我有带输入字段的搜索块。
第一个问题是当我尝试在我的列表中使用 paginate 时总是显示所有结果,在这种情况下我找到了解决方案,我只发送了 10 个值进行显示(如果你知道另一个解决方案,请告诉我)。我的搜索看起来是这样的:

    def search = {
if(query){
def srchResults = searchableService.search(query, params)

def result = Country.executeQuery("select new map(a.name as name, a.datacenter as datacenter) from Country a where a.name like '%"+ params.q + "%'")

if (params.offset)
{
x = params.offset.toInteger()
y = Math.min(params.offset.toInteger()+9, result.size()-1)
} else
{
x = 0
size = result.size() - 1
y = Math.min(size, 9)
}
def q=params.q

[countryInstanceList: result.getAt(x .. y), countryInstanceTotal:result.size(), q:params.q]

}else{
redirect(action: "list")
}
}

现在我有另一个问题,当我按下下一页时,我的搜索字段中的参数正在清理并且结果为空。我试图将字段值作为参数发送,但我认为我做错了什么。

我的搜索页面如下所示:
<g:form action="search">
<div class="search" >
Search Country
<g:hiddenField name="q" value="${params.q}" />
<input type="text" name="q" value="${params.q}" />
<input type="submit" value="Search"/>
</div>
</g:form>

......
......

最佳答案

我发现的最佳解决方案:

对于行动:

def list() {
... //use params to filter you query and drop results to resultList of type PagedResultList
return [resultList: resultList, resultTotal: resultList.getTotalCount(), filterParams: params]
}

对于 View :
<g:paginate total="${resultTotal}" action="list" params="${filterParams}"/>

查看完整版 example .

关于搜索结果的 grails 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11778256/

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