java - Grails 分页不起作用

标签 java grails

我的 Controller 中有这个使用动态查找器的列表代码

def listPurchaseRequest(Integer max){
    params.max = Math.min(max ?: 5, 100)

    def purchaseRequestList = PurchaseRequest.list (params)     
    if ( params.query) {
        purchaseRequestList = PurchaseRequest.findAllByRequestByLikeOrRequestNumberLike("%${params.query}%", "%${params.query}%", params)
    }

    [purchaseRequestInstanceList: purchaseRequestList,
     purchaseRequestInstanceTotal: //this]
}

除了分页之外,我的搜索和列表正常运行。

<g:paginate total="${purchaseRequestInstanceTotal}" params="${params}" maxsteps="3" prev="&laquo;" next="&raquo;" /> 

如果我使用purchaseRequestList.totalCount,它可以使用默认列表,但是当我搜索后显示结果时,它会给我一个异常评估java.util.ArrayList的属性“totalCount” ,原因:groovy.lang.MissingPropertyException:没有这样的属性:类的totalCount:rms.PurchaseRequest错误

如果我使用purchaseRequestList.count(),它会给我这个无法找到要从此列表中调用的方法count():public java.lang.Number java.util.Collection #count(groovy.lang.Closure) public java.lang.Number java.util.Collection#count(java.lang.Object) 错误

最佳答案

您需要使用CountBy*的搜索方法。试试这个

def listPurchaseRequest(Integer max){
    params.max = Math.min(max ?: 5, 100)

    def purchaseRequestList, count  

    if (params.query) {
        purchaseRequestList = PurchaseRequest.findAllByRequestByLikeOrRequestNumberLike("%${params.query}%", "%${params.query}%", params)
        count = PurchaseRequest.countByRequestByLikeOrRequestNumberLike("%${params.query}%", "%${params.query}%")
    } else {
        purchaseRequestList = PurchaseRequest.list (params)
        count = purchaseRequestList.totalCount
    }

    [purchaseRequestInstanceList: purchaseRequestList,
     purchaseRequestInstanceTotal: count]
}

仅供引用,我将 .list() 移至 else 子句中,以节省您同时调用 listfindByparams.query 设置时。

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

相关文章:

java - 如何让 root 和命名记录器的文件处理程序记录到同一个文件?

grails - Grails-缓慢删除

mongodb - 在 Grails 3.x 中安装和使用 MongoDB

postgresql - 使用grails db-reverse-engineer时,如何指定生成器应为 “sequence”而不是 “assigned”?

grails - 如何在全局范围内禁用 grails 中的 deepvalidate?

java - 如何使用 java 反射自动将值从 java bean 复制到 protobuf 消息对象?

java - 通过注解使用 Hibernate UUIDGenerator

java - JUnit TestCase 对象实例化

java - 运行jar文件失败

Java 安全架构