如何遍历 Thymeleaf 中的自引用实体列表?

Posted

技术标签:

【中文标题】如何遍历 Thymeleaf 中的自引用实体列表?【英文标题】:How to loop through a list of self referencing entity in Thymeleaf? 【发布时间】:2017-12-25 01:43:46 【问题描述】:

我有一个实体如下

public class Entity
    ....
    private List<Entity> entities = new ArrayList<>();
    ....
    //Other fields with its setters and getters

如何使用 Thymeleaf 显示所有 entities。我刚刚开始使用 thymeleaf,并尝试在可能的地方进行搜索。

【问题讨论】:

你尝试了什么? 尝试阅读百里香tutorial 【参考方案1】:

我会从 java 端接近它。例如这样的事情:

JAVA

public class Entity
    private List<Entity> entities = new ArrayList<>();

    public List<Entity> getAllEntities() 
        List<Entity> all = new ArrayList<>();

        for (Entity e: entities) 
            all.add(this);
            all.addAll(e.getAllEntities())
        

        return all;
    

html

<div th:each="entity: $entities.allEntities">
     <span th:text="$entity.someProperty" />
</div>

也可以通过包含一个片段来实现——但我不确定百里香叶片段是否可以包含自身。

【讨论】:

以上是关于如何遍历 Thymeleaf 中的自引用实体列表?的主要内容,如果未能解决你的问题,请参考以下文章

NHibernate 中的自引用实体给对象引用一个未保存的瞬态实例异常

实体框架中的自引用/父子关系

thymeleaf的th:each怎么遍历js中的数组?

添加到 C 中的自引用结构列表?

特定用例的自引用核心数据模型

(Spring,Thymeleaf)如何使用模型内的模型列表向控制器“POST”请求?