假设我有一个包含用户对象的ArrayList。
User.java
class User{
private Long id;
private String name;
}
我有一个用户列表
list.add(new User(1,"John");
list.add(new User(2,"Sam");
如果用户列表中有一个名为“Sam”的用户,我想检查百万美元。
${#lists.contains(userList.name,'Sam')}
但上述方法不起作用并抛出Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression
我也试过“(doube-quotes)
答案 0 :(得分:5)
您可以使用Collection Selection的Spring Expression Language功能实现此目的。
10.5.17收集选择
选择是一种强大的表达语言功能,可以让您使用 通过从中选择一些源集合到另一个源集合 条目。
选择使用语法
?[selectionExpression]
。这将过滤 收集并返回一个包含该子集的新集合 原始元素。
在您的特定情况下,它将是:
${not userList.?[name == 'Sam'].isEmpty()}
答案 1 :(得分:0)
list.add(new User(1, "John");
list.add(new User(2, "Sam");
通常你可以使用
${list.contains(`Sam`)} or ${list.contains("Sam")}
试试这个