【发布时间】:2017-12-29 21:43:22
【问题描述】:
我遇到了 Thymeleaf 循环的问题,它在嵌套的 div 中返回了错误的对象。我希望它返回与顺序表行相对应的对象,而不是返回循环中的第一个对象。下面用 cmets 贴出代码:
<table class="striped responsive-table">
<thead>
<th>name</th>
<th>url</th>
<th>updated</th>
<th>author</th>
</thead>
<tbody>
<!-- THE BEGINNING OF THE LOOP-->
<tr th:each="page : ${pages}">
<!-- THIS RETURNS THE CORRECT OBJECT AND ATTRIBUTE-->
<td><strong><span th:text="${page.name}"></span></strong></td>
<td><a th:href="'/p-' + ${page.url}" class="waves-effect waves-light explode">
<span th:text="'/p-' + ${page.url}"></span></a></td>
<td th:text="${page.updated}"></td>
<td th:text="${page.author.getUsername()}"></td>
<td style="text-align: right;">
<a class="btn waves-effect waves-light" th:href="'page-edit-' + ${page.id}">edit</a>
<a class="waves-effect waves-light btn btn-flat btn-delete view"
onclick="$('#modal1').modal('open');">delete</a>
<!-- Modal Structure -->
<div id="modal1" class="modal">
<div class="modal-content center">
<h4 style="color: darkred">Are you sure?</h4>
<!-- HERE IS MY PROBLEM: THIS RETURNS THE FIRST OBJECT IN THE LOOP EVERY TIME -->
<p th:text="'Confirm that you want to delete this page: ' + ${page.name}"
style="color: darkred"></p>
</div>
<div class="modal-footer">
<a href="#" class=" modal-action modal-close waves-effect waves-green btn-flat">CANCEL</a>
<a th:href="'/page-delete-' + ${page.id}"
class=" modal-action modal-close waves-effect waves-red btn-flat">DELETE</a>
</div>
</div>
<script>
$(document).ready(function () {
$('#modal1').modal();
});
</script>
</td>
</tr>
</tbody>
</table>
我该如何解决这个问题?
【问题讨论】:
-
附带说明,写
page.author.username更惯用(并且使用DELETE而不是一些临时的“删除URL”)。 -
知道了,感谢@chrylis 的反馈。
标签: java spring loops nested thymeleaf