spring - Thymeleaf 中的过滤整数列表

标签 spring spring-boot thymeleaf spring-expression spring-expression-language

我正在了解 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/

相关文章:

javascript - Twitter Typeahead Bloodhound 远程 Spring MVC 字符解码失败

java - Autowiring @Scope(value = "request", proxyMode = ScopedProxyMode.INTERFACES) 对象时出错

java - Spring Roo + hibernate : uppercase database name in the query

java - Spring 容器如何引用我们作为参数传递给方法的接口(interface)或类类型

java - 更新嵌套 Json 对象时 Springboot PUT 请求失败

java - 如何在 thymeleaf Numbers.sequence() 方法中使用 Constants 类中的变量?

java - Thymeleaf 在 html 代码中插入文本?

performance - 如何在使用 Spring EntityManager Hibernate 持久化大型集合时提高性能

java - 具有不同实体错误的 JPA 托管映射

java - 如何使用 Spring MVC 重定向 Controller 中的另一个 jsp 页面?