我正在了解 Thymeleaf在 Spring 中,我正在努力处理列表过滤问题。
官方Tutorial: Using Thymeleaf不讲集合过滤和投影,但是我发现Spring上的Thymeleaf使用Spring Expression Language .
本指南说明以下内容:
- 选择(过滤)运算符的语法为:
${collection.?[property == value]}
- 投影(映射)运算符的语法为:
${collection.![property]}
如果我有一个对象列表(例如人员列表),这很好。然后我可以执行类似的操作:
- 选择(过滤):例如,
${persons.?[age >= 18]}
选择所有年满 18 岁的人 - 投影(映射):例如,
${persons.![name]}
选择每个人的姓名
问题:
如果我没有对象列表(例如人员列表),而是数字列表或字符串列表怎么办?那么我该如何进行选择(过滤)呢?像 numbers.?[>10]
这样的东西不起作用。
最佳答案
经过一番搜索,我在 Spring Expression Language 中找到了答案。文档。
在10.5.11变量中,文档规定了#this
和#root
变量。
The variable #this is always defined and refers to the current evaluation object (against which unqualified references are resolved).
因此,假设我有一个填充整数的列表 numbers
,${numbers.?[#this >= 10]}
创建一个包含所有数字的新列表至少有 10 个。
关于spring - Thymeleaf 中的过滤整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60297227/