输入字段在Thymeleaf Spring MVC中显示为空白

时间:2016-03-06 00:26:24

标签: java html spring spring-mvc thymeleaf

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

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

请告知。

2 个答案:

答案 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}" />

试试并告诉我们!