我有一个名为 Item.java 的对象,我已经设置了这样的值:
这是我的控制器类。我把它命名为HomeController.java
@Controller
public class HomeController {
public HomeController(){
}
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
List<Item> ListItem = new ArrayList<Item>();
ListItem.add(new Item("1","Pencil"));
ListItem.add(new Item("2","Paper"));
return "item";
}
}
如何在我的Thymeleaf HTML页面中打印出对象值?
这就是我的所作所为:
<table class="table table-hover">
<thead>
<tr>
<th><input type="checkbox" /></th>
<th>Unique Item Code</th>
<th>Item Name</th>
</tr>
</thead>
<tbody>
<tr th:each="mItem : ${Item}">
<td><label type="text"
th:text="${mItem.code}" /></td>
<td><label type="text"
th:text="${mItem.name}" /></td>
</tr>
</tbody>
</table>
为什么没有显示任何内容?由于我无法调试HTML页面,我只能调试我的Java类,它已经具有一定的价值。
答案 0 :(得分:0)
您必须在控制器方法中将项目添加到模型中,如下所示:
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
List<Item> ListItem = new ArrayList<Item>();
ListItem.add(new Item("1","Pencil"));
ListItem.add(new Item("2","Paper"));
model.addAttribute("Item", ListItem); // This is important
return "item";
}
顺便说一句,您的变量名称不遵循标准的Java命名约定。我建议重命名它们(例如ListItem
应该命名为items
,您传递给视图的Item
属性应该是items
等。