我正在尝试使用springMvc和thymeleaf创建一个编辑表单。输入字段没有填充从控制器返回的值。
控制器:
@RequestMapping(value = "updatecustomer")
public String search(@ModelAttribute("customerDto") CustomerDto customerDto, Model model) {
Customer customer = service.search(customerDto);
model.addAttribute("customer", customer);
return "mypage";
}
形式:
<form method="post" th:action="@{updatecustomer}" th:object="${customerDto}">
<label>Email: </label><input type="text" th:field="*{email}" />
<input type="submit" />
</form>
在浏览器上生成html:
<input type="text" id="email" name="email" value="">
调试显示值存在于控制器中并返回到视图,但电子邮件输入值为空。
请告知。
答案 0 :(得分:1)
在您的Thymeleaf代码中,您将 customerDto 绑定到表单
th:object="${customerDto}"
您在控制器中将客户数据传递给客户属性名称
model.addAttribute("customer", customer);
你应该匹配这两个。例如,将您的Thymeleaf代码更改为此
th:object="${customer}"
答案 1 :(得分:0)
也许你应该在你的JSP中映射你的模型中的实体“customer”,并使用它自己的字段!
<label>Email: </label><input type="text" th:field="*{customer.email}" />
试试并告诉我们!