我需要使用thymeleaf在HTML中显示地图中的值。这是我的java代码
List<Object> searchResultsList = searchService.searchPerson(id);
List<String> list = new ArrayList<String>();
Map<Integer, List<String>> mapResults = new HashMap<Integer, List<String>>();
for (int i = 0,; i < searchResultsList.size(); i++) {
list.add(0, row[0].toString());
list.add(1, row[1].toString());
list.add(2, row[2].toString());
mapResults.put(i, list);
}
model.addAttribute("mapResults", mapResults);
HTML代码:
<div th:if="!${#maps.isEmpty(mapResults)}">
<div>
Found List of records
</div>
<table class="tg">
<thead>
<tr>
<th class="tg"># of Lines</th>
<th class="tg">Person id</th>
<th class="tg">Sub Id </th>
</tr>
</thead>
<tbody>
<tr th:each="row : ${mapResults}">
<td class="tg bg" th:text="${row.value}"></td>
<td class="tg bg" th:text="${row.value}"></td>
<td class="tg bg" th:text="${row.value}"></td>
</tr>
</tbody>
</table>
</div>
实际输出:
# of Lines Person id Sub Id
[2, 1235, 1] [2, 1235, 1] [2, 1235, 1]
预期产出:
# of Lines Person id Sub Id
2 1235 1
任何人都可以帮我如何从列表中检索每个值。
提前致谢。
答案 0 :(得分:3)
row.value
是一个列表。要从中获取特定项目,只需使用此项目的索引:
<tr th:each="row : ${mapResults}">
<td class="tg bg" th:text="${row.value[0]}"></td>
<td class="tg bg" th:text="${row.value[1]}"></td>
<td class="tg bg" th:text="${row.value[2]}"></td>
</tr>