首先,我定义了一个简单的POJO如下:
public class MyDesc {
private String desc;
public MyDesc(String desc) {
setDesc(desc);
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
然后,我将MyDesc
的实例作为 Spring MVC Model 对象传递:
@Bean
public MyDesc myDesc() {
return new MyDesc("Holla!");
}
@RequestMapping(value="/", method = RequestMethod.GET)
public String home(Model model) {
model.addAttribute("my-desc", myDesc());
return "pages/home";
}
现在,我想使用 Thymeleaf 作为模板引擎将内容显示在HTML页面中。
<div th:text="${my-desc.desc}">Desc placeholder</div>
但是在运行时发生错误:
Property or field 'desc' cannot be found on null
我做错了什么?
答案 0 :(得分:5)
可能因为-
是百里香叶的有效算术表达式。因此,my
和desc
可能会被视为不属于的变量。尝试将模型变量更改为myDesc
,它应该可以正常工作。
但是,有一个更广泛的问题,您已将myDesc
方法标记为@Bean
,此处似乎没有必要,有任何理由这样做吗?