1

我之前使用的是 1.3.7,而 PagedResultList 构造函数中的 PagedResultList 构造函数正在接受列表。所以我的代码是

def result = [...]

def pagedResult = new PagedResultList(result)

现在构造函数更改为

PagedResultList(GrailsHibernateTemplate template, Criteria crit)

您能帮我在 2.x 中将结果列表转换为 PagedResultList 吗?

4

1 回答 1

4

PagedResultList在 Grails 2 中似乎已更改为totalCount在首次访问时计算惰性,而不是在最终可能不需要时必须预先计算计数。但是,由于DelegateAST 转换,编写您自己的替代品只需 4 行 Groovy :

class MyPagedResultList {
  @Delegate List theList
  int totalCount
}

// create one using new MyPagedResultList(theList:result, totalCount:total)

转换所做的是将委托类型(在本例中)的所有方法自动添加List到目标类型(在本例中MyPagedResultList),通过委托给委托对象来实现。因此,它无需手动编写所有相关方法即可MyPagedResultList实现接口。List

于 2013-10-08T12:58:47.760 回答