:EL1008E:在“java.util.ArrayList”类型的对象上找不到属性或字段“LEVEL”——可能不是公共的或无效的?

时间:2021-01-22 09:37:27

标签: spring-boot spring-mvc arraylist thymeleaf

请协助解决以下问题。我正在尝试显示从控制器返回的数组列表并将其显示到 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>

我确定 ArrayList 有我需要的数据,如下所示我不知道为什么它给我错误 arralist

1 个答案:

答案 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>