之前我使用的是1.3.7,并且该PagedResultList构造函数中的PagedResultList的构造函数正在接受列表。所以我的代码是
def result = [...]
def pagedResult = new PagedResultList(result)
现在构造函数更改为
PagedResultList(GrailsHibernateTemplate template, Criteria crit)
你能帮我把结果列表转换成2.x中的PagedResultList吗?
答案 0 :(得分:4)
PagedResultList
似乎已在Grails 2中进行了更改,以便在首次访问时懒惰地计算totalCount
,而不是必须在最终可能不需要时预先计算的计数。但是由于Delegate
AST transformation:
class MyPagedResultList {
@Delegate List theList
int totalCount
}
// create one using new MyPagedResultList(theList:result, totalCount:total)
转换的作用是自动将委托类型的所有方法(在本例中为List
)添加到目标类型(在本例中为MyPagedResultList
),通过委托给委托对象来实现。因此,MyPagedResultList
实现了List
接口,而无需手动写出所有相关方法。