请协助解决以下问题。我正在尝试显示从控制器返回的数组列表并将其显示到 Html 表中,但出现上述错误。
这是我的控制器代码:
@GetMapping(value="/chart" )
public List<List<CanvasjsChartData.DataPointModel>> chart(Model modelMap) {
List<List<CanvasjsChartData.DataPointModel>> dataPointsList = canvasjsChartService.getCanvasjsChartData();
modelMap.addAttribute("dataPointsList", dataPointsList);
System.out.println("dataPointsList");
return dataPointsList;
}
这是我想在其中显示列表的表格
<table class="table" id="dataTable" style="width:100%">
<thead>
<th>Level</th>
<th>Occurences</th>
</thead>
<tbody>
<tr th:each="item :${dataPointsList}">
<td th:text="${item.LEVEL}"> </td>
<td th:text="${item.OCCURENCES}"> </td>
</tr>
</tr>
</tbody>
答案 0 :(得分:1)
您的调试显示您有一个 List<List<CanvasjsChartData.DataPointModel>>
(两个彼此内部的列表)——当您的 HTML 需要 List<CanvasjsChartData.DataPointModel>
时。您应该在控制器/模型中通过只返回一个列表来解决这个问题。
你也可以像这样显示你的 HTML(你循环外部数组的第 0 个元素):
<tr th:each="item :${dataPointsList[0]}">
<td th:text="${item.LEVEL}" />
<td th:text="${item.OCCURENCES}" />
</tr>