【发布时间】:2016-05-27 16:59:53
【问题描述】:
我的 Spring MVC 应用基于 Spring boot 1.2.8、Thymeleaf、Hibernate 和 Hateos。我有一个实体“市场”,其中包含布尔类型的“启用”字段。
@Entity
@Table(name = "market")
public class Market {
.....
private Boolean enabled;
....
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
}
“/create”控制器中的代码
@RequestMapping(value = "/create", method = RequestMethod.GET)
public ModelAndView create() {
return new ModelAndView("market/create")
.addObject("list", linkTo(methodOn(MarketController.class).list())
.withRel("List"))
.addObject("market", new Market())
.addObject("postLink",
linkTo(methodOn(MarketController.class).save(null, null, null, null))
.withRel("Save"));
}
模板“市场/创建”,参考。 http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#checkbox-fields
<form th:action="${postLink.href}" th:object="${market}" method="post">
....
<div class="form-group">
<label th:for="${#ids.next('enabled')}" th:text="#{market.enabled}">Enabled</label>
<input type="checkbox" th:field="*{enabled}" />
</div>
....
</form>
在浏览器中打开 /markets/create 时,勾选复选框出现以下异常
Cause: org.thymeleaf.exceptions.TemplateProcessingException Attribute "value" is required in "input(checkbox)" tags when binding to non-boolean values
为什么 Thymeleaf 将“启用”字段视为非布尔类型?我已尽我所能找出原因,但徒劳无功。请给出一些提示来解决它。谢谢。
【问题讨论】:
标签: hibernate spring-mvc spring-boot thymeleaf