我在 Spring-MVC 中使用 Thymaleaf 構建了一個應用程式,我想在 Thymaleaf 中的一個表中迭代資料庫條目。
這是我正在迭代的物件:
List<Map<String, Object>> map
我在 Thymleaf 中嘗試了這段代碼:
<table>
<tr>
<td> CNP:</td>
<td th:text ="${raspuns.cif}" ></td>
</tr>
<tr>
<td> Nume:</td>
<td th:text ="${raspuns.den_client}" ></td>
</tr>
</table>
但它只顯示 2 個條目,我知道它有 311 或類似的東西。我如何遍歷所有條目并全部顯示?
uj5u.com熱心網友回復:
您必須先迭代串列,然后從串列中讀取每個地圖,然后在鍵的幫助下讀取地圖物件,如下所示:
Java 代碼:
List<Map<String, String>> mapList = new ArrayList<>();
Map<String, Object> firstMap = new HashMap<>();
firstMap.put("id", "1");
firstMap.put("name", "test_name_1");
Map<String, Object> secondMap = new HashMap<>();
secondMap.put("id", "2");
secondMap.put("name", "test_name_2");
mapList.add(firstMap);
mapList.add(secondMap);
model.put("map_list", mapList);
百里香代碼:
<tr th:each="map : ${map_list}">
<td> CNP:</td>
<td th:text ="${map.get('id')}" ></td>
<td> Nume:</td>
<td th:text ="${map.get('name')}" ></td>
</tr>
uj5u.com熱心網友回復:
您應該首先遍歷串列,然后遍歷映射以訪問鍵和值。
為了簡化該程序,建議將您轉換List<Map<String,Object>>為Map<String, Object>這樣的:
Map<String, Object> result = map
.stream()
.collect(Collectors.toMap(s -> (String) s.get("key"),
s -> s.get("value")));
然后你可能想遍歷地圖:
<table>
<tr>
<th> CNP:</th>
<th> Nume:</th>
</tr>
<tr each:="entry: ${map}">
<!-- You can access a {key, value} pair for each entry of the map -->
<td th:text ="${entry.key}" ></td>
<td th:text ="${entry.value}" ></td>
</tr>
</table>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/447494.html
