【问题标题】:Thymeleaf: Loop iteration in <div> tag and create rows.Thymeleaf:在 <div> 标签中循环迭代并创建行。
【发布时间】:2015-02-17 11:56:15
【问题描述】:

我是 thymeleaf 的新手,并尝试使用 thymeleaf th:each 属性迭代值,但得到错误的输出。我使用&lt;div&gt; 而不是表格,当 thymeleaf 呈现页面时,所有对象值都会覆盖第一行值,其余行显示为空。以下是我的代码:

我的 Spring MVC 控制器代码

ProductCategory category = new ProductCategory();
category.setId(BigInteger.valueOf(558711));
category.setTitle("Category 1");
category.setStatus(FinEnum.STATUS.IN_ACTIVE.getStatus());

ProductCategory category2 = new ProductCategory();
category.setId(BigInteger.valueOf(558722));
category.setTitle("Category 2");
category.setStatus(FinEnum.STATUS.ACTIVE.getStatus());

List<ProductCategory> categories = new ArrayList<ProductCategory>();
categories.add(category);
categories.add(category2);

model.addAttribute("categories", categories);
return "admin/product/view-categories";

我的百里香代码:

<div class="row-area" th:each="category: ${categories}">
                    <div class="column2 tariff-date" style="width: 15%;"><span th:text="${category.id}">Dummy Data</span></div>
                    <div class="column2 tariff-date" style="width: 15%;"><span th:text="${category.title}">Dummy Data</span></div>
                    <div class="column2 tariff-date" style="width: 13%;"><span th:text="${category.status}">Dummy Data</span></div>
                    <div class="column5 icons middle-area" style="margin-left: 7px; width: 40%;">
                        <a href="javascript:void(0)" class="diplay-none"></a>
                        <a class="icon7" href="javascript:void(0)" style="width: 140px;">View Sub Category</a>
                        <a class="icon2" href="javascript:void(0)"><p>Edit</p></a>
                        <div th:switch="${category.status}" style="margin-left: 195px;">
                            <a class="icon8" href="javascript:void(0)" th:case="'Inactive'" style="width: 88px;">Deactivate</a>
                            <a class="icon9" href="javascript:void(0)" th:case="'Active'">Active</a>
                        </div>
                        <a class="icon14" href="javascript:void(0)" style="width: 60px;"><p>Delete</p></a>
                    </div>
                </div>

我的输出是:

【问题讨论】:

  • 你能不能先试试去掉
  • 你好@erhun 我已经尝试过了,但仍然得到这个输出。

标签: java spring-mvc thymeleaf


【解决方案1】:

问题与 Thymeleaf 无关,只是一个简单的错字。行后:

ProductCategory category2 = new ProductCategory();

您仍在修改(覆盖)category 对象,而不是 category2。因此,category2 的属性从未被设置。更正后的代码应该是:

category2.setId(BigInteger.valueOf(558722));
category2.setTitle("Category 2");
category2.setStatus(FinEnum.STATUS.ACTIVE.getStatus());

在本地对此进行了测试,并在修复后看到了我们“行”的数据。

【讨论】:

  • 是的,@Martin 我已经找到了答案。感谢您的回答。
猜你喜欢
相关资源
最近更新 更多
热门标签