如何在 Thymeleaf 中循环遍历 Map

Posted

技术标签:

【中文标题】如何在 Thymeleaf 中循环遍历 Map【英文标题】:How to loop through Map in Thymeleaf 【发布时间】:2014-06-02 09:17:14 【问题描述】:

我正在尝试了解如何遍历 Thymeleaf 中 Map 中的所有条目。我有一个由 Thymeleaf 处理的域对象,其中包含一个 Map。

如何遍历键并获取值?

谢谢。

【问题讨论】:

【参考方案1】:

如果您有一个 List 作为值。例如,当您有一个地图,其中键是类别,值是与该类别相关的项目列表,您可以使用:

<table>
    <tr th:each="element : $catsAndItems">
        <td th:text="$element.key">keyvalue</td>
        <table>
            <tr th:each="anews : $element.value">
                <td th:text="$anews.title">Some name</td>
                <td th:text="$anews.description">Some name</td>
                <td th:text="$anews.url">Some name</td>
                <td th:text="$anews.logo">Some name</td>
                <td th:text="$anews.collectionDate">Some name</td>
            </tr>
        </table>
    </tr>
</table>

【讨论】:

【参考方案2】:

没关系...我找到了...

<tr th:each="instance : $analysis.instanceMap">
    <td th:text="$instance.key">keyvalue</td>
    <td th:text="$instance.value.numOfData">num</td>
</tr>

谢谢。

【讨论】:

这是什么来源? "When iterating maps, iter variables will be of class java.util.Map.Entry." 出于好奇,有没有办法对 Java 8 或 9 下的任何对象执行此操作?就像迭代 javascript 和 JSON 中的对象一样,我认为有一种方法可以获取 Foo 类型的可序列化对象并执行 如果无法做到这一点,能否成为 Java 10 的一部分或下一个主要版本百里香叶?这将解决很多令人头疼的问题,并在通过模板引擎运行实体对象之前减少大量的性能开销。

以上是关于如何在 Thymeleaf 中循环遍历 Map的主要内容,如果未能解决你的问题,请参考以下文章

thymeleaf循环遍历

SpringBoot——Thymeleaf中使用th:each遍历数组ListMap

SpringBoot——Thymeleaf中使用th:each遍历数组ListMap

thymeleaf怎么遍历数组

Thymeleaf框架遍历集合

Java中如何遍历Map对象的4种方法