如何使用thymeleaf在HTML5中显示地图值列表

时间:2015-06-03 08:16:55

标签: html5 list dictionary thymeleaf

我需要使用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

任何人都可以帮我如何从列表中检索每个值。

提前致谢。

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>