我在春季Model
model.addAttribute("myObjList", myObjList);
其中myObjList
是MyObject
类的列表
List<MyObject> myObjList;
MyObject
类如下所示
public class MyObject{
private List Account;
//getter setter
}
和Account
类是
public class Account{
private double amount
//other properties
//getter setter
}
现在我需要使用tymeleaf #aggregate
来找到amount
的总和,但无法弄清楚该怎么做。
答案 0 :(得分:2)
这将为您提供所有帐户的总和:
${#aggregates.sum(myObjList.![#aggregates.sum(accounts.![amount])])}
Collection projection允许您从另一个属性生成列表。因为您有两个列表(myObjList和account),所以必须使用两次。
内部投影(#aggregates.sum(accounts.![amount])
)为您提供MyObject
所有帐户的总和。外部投影将所有myObjList
(#aggregates.sum(myObjList.![...])
)的所有内容加在一起。