我收到错误:在thymeleaf上找不到属性或字段'datas'。
我见过类似的问题,但是我的代码找不到问题。
基本上,我有一个名为Months的对象列表,它有两个属性:Name(String)和Dates(List)。
这是控制器
@PostConstruct
public void inicializar() {
System.out.println("INICIALIZANDO...");
months = DrawCalendarTable.calendarTable(2016); // list of object 'months' with name and list of dates as string
for(Months month : months){
System.out.println(month.toString()); //just for test... print the data i want correctly
}
}
@RequestMapping("/calendario")
public ModelAndView listar(){
ModelAndView mv = new ModelAndView("calendarTable");
mv.addObject("listOfMonths", months);
return mv;
这是HTML
<table class="table table-striped table-bordered"
style="vertical-align: center">
<thead>
<tr>
<th>Nome</th>
<th th:each="months : ${listOfMonths}" th:text="${months.name}">months</th> <!-- This works just fine. Also, if i use ${months.datas} it also works-->
<!-- Lista de Meses -->
</tr>
</thead>
<tbody>
<tr>
<!-- Lista Funcionarios -->
<td th:text="Anderson">Anderson</td>
<td >
<table class="table table-bordered">
<tr th:each="days : ${months.datas}"> <!-- Here, months.data does not work. ERROR: CANNOT BE FOUND ON NULL-->
<td th:text="F"></td>
<!-- Desenha celulas de dia, de acordo com o mes -->
</tr>
</table>
</td>
</tr>
</tbody>
</table>
我在Object Months上有该字段的正确get方法:
public List<String> getDatas() {
return datas;
}
答案 0 :(得分:0)
您添加到模型中的对象名为&#34; listOfMonths。&#34;您的模型上没有名为&#34; months&#34;的对象,所以当它到达此行时:
<tr th:each="days : ${months.datas}">
月是空的。顶线有效,因为您已经定义了&#34;月&#34;在你使用它之前。
th:each="months : ${listOfMonths}"