【问题标题】:How to loop object value in Thymeleaf?如何在 Thymeleaf 中循环对象值?
【发布时间】:2014-12-25 05:16:38
【问题描述】:

我有一个名为 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 类,它已经具有一些价值。

【问题讨论】:

  • 能否包含控制器的完整代码?

标签: java oop spring-mvc thymeleaf


【解决方案1】:

您必须像这样在控制器方法中将项目添加到模型中:

@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 等)。

【讨论】:

    猜你喜欢
    • 2017-09-02
    • 2014-06-02
    • 1970-01-01
    • 2020-06-05
    • 2020-10-28
    • 2020-07-24
    • 2022-11-23
    • 2022-11-19
    • 1970-01-01
    相关资源
    最近更新 更多