我正在尝试使用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="">


调试显示值存在于控制器中并返回查看,但电子邮件输入值为空白。

请指教。

最佳答案

在您的Thymeleaf代码中,将customerDto绑定到表单

th:object="${customerDto}"


您要将控制器中的客户数据传递给客户属性名称的位置

model.addAttribute("customer", customer);


您应该匹配这两个。例如,将您的Thymeleaf代码更改为此

th:object="${customer}"

09-28 01:37