如何在Thymleaf中的对象内打印对象列表?

时间:2019-04-11 09:10:39

标签: java spring-boot thymeleaf

我有如下的Java对象:

public class Bean {
    private String className;
    private List<Property> properties;
}

public class Property {

    private String name;
    private String val;
    public Property(String name, String val) {
        super();
        this.name = name;
        this.val = val;
    }
}

我有一个List<Bean>,如下所示:

如何在html列表中显示Bean类名称及其属性名称和值对?

示例输出,我可以使用下面的代码来实现: enter image description here

List<Bean> staticBeans = /* assume */
model.addAttribute("staticBeans", staticBeans);

<ol>
        <li th:each="staticBean,i: ${staticBeans}">
               <div th:text="*{staticBeans[__${i.index}__].className}" /></div>
                <ul th:each="prp,j: ${staticBean.properties}">
                    <li><div th:text="*{staticBeans[__${i.index}__].properties[__${j.index}__].val}" > </div></li>
                </ul>
        </li>
    </ol>

有没有更好的方法来索引properties.val。我不知道如何利用prp并使索引变短

1 个答案:

答案 0 :(得分:0)

仅打印输出值时,无需使用预处理。该代码应类似于:

<ol>
    <li th:each="bean: ${staticBeans}">
        <div th:text="${bean.className}" /></div>

        <ul th:each="property: ${bean.properties}">
            <li th:text="${property.val}" />
        </ul>
    </li>
</ol>