为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不迭代 Thymeleaf 的情况下访问 Map 中的对象键

如何在不迭代 Thymeleaf 的情况下访问 Map 中的对象键

智慧大石 2021-07-08 14:13:03
我有一个 java 类Result,它包含一个名为results的变量,它是一个HashMap。public class Result {   private HashMap<Class1, Class2> results = new HashMap<>();}我使用名为Class1的对象作为上述 HashMap 的键。public class Class1 {   private String attribute1;   private String attribute2;   private String attribute3;   private String attribute4;}在前端,我以下面的方式迭代 HashMap 并访问值。<span th:each="result : ${results}" th:if="${#strings.equals('SOME_VALUE', result.key.attribute1)}" th:text="${result.value.someAttribute}"/>使用上面的 thymeleaf 代码,我得到了预期的结果。但我需要知道有没有最简单的方法来访问 HashMap 值而不像这样迭代?我正在使用thymeleaf 3.0.0.RELEASE版本。
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

您可以为此使用集合选择

<span th:text="${results.^[key.attribute1 == 'SOME_VALUE'].values()[0].someAttribute}"/>

results.^[key.attribute1 == 'SOME_VALUE']返回一个HashMap包含单个元素的 a (在我看来这应该返回 a Map.Entry,但它没有)。然后我调用values()(一个HashMap将 HashMap 中的值作为 a 返回的函数Collection)并[0]返回该 中的第一个元素Collection


查看完整回答
反对 回复 2021-07-14
  • 1 回答
  • 0 关注
  • 242 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信