如何在 Grails 分页期间保留搜索关键字?

How to retain a search keyword during Grails pagination?

我有一个简单的 Grails 应用程序。它有一个带有一个文本框和一个提交按钮的搜索表单。如果结果超过 100 的总数,然后出现 Grails 分页,如果我点击第二页的 link,调用转到同一个控制器的方法,但是这次没有传递搜索关键字(因为分页不是搜索表单的一部分)并且它不在 'params' 中。如何处理这种情况?

如果您的搜索输入字段名称是 q,那么您可以这样做:

 <g:paginate controller="user" action="index" total="${total}" q="params.q"/>

这会将您的搜索关键字保留在您的分页页面上。

您可以在分页标签中发送参数

<g:paginate next="Forward" prev="Back"
        maxsteps="0" controller="book"
        action="list" total="${bookCount}"
        params="${[q:q, anotherParamether:anotherParamether]}" />

Paginate documentation

您可以使用 pageScope.variables 将所有参数传递给控制器​​,例如

<g:paginate params="${pageScope.variables}" total=.../>