我有一个控制器如下
@RequestMapping(value = "/user/{userId}/personal", method = RequestMethod.GET)
public String getUserPersonalInfo(@PathVariable("userId") Integer userId, Model model) throws ServiceBusinessException {
UserBO userBO = userServiceImpl.findUserByUserId(userId);
model.addAttribute("user", userBO);
model.addAttribute("userId", userId);
model.addAttribute("genders", EnumSet.allOf(Gender.class));
model.addAttribute("maritalStatuses", EnumSet.allOf(MaritalStatus.class));
model.addAttribute("ethnicities", EnumSet.allOf(Ethnicity.class));
System.out.println(EnumSet.allOf(Ethnicity.class));
return "personal";
}
请注意以下事项:
这是从UI到控制器的GET调用,然后控制器处理请求并将用户以及其他信息返回到视图(personal.html)。
现在在personal.html上,我需要有一种方法来编辑这个用户信息。因此我想在th:form标签
中绑定这个用户数据然后,此表单将用于向控制器发送发布请求以保存用户所做的更改。
问题是我还没有看到任何代码示例。我看到的所有示例,表单都是空的,然后加载页面。用户填写空表单并单击“提交”,然后将此信息存储在数据库中。
然而,另一方面,我正在做相反的事情。我需要在页面加载时使用用户对象填充表单,然后在提交时将此表单保存在数据库中。有人可以指导我这个例子吗?
答案 0 :(得分:1)
@ user641887
在页面加载时填充用户详细信息时,使用th:field将数据绑定为只读表单,当用户单击编辑按钮时,允许编辑的表单字段可编辑。现在,用户可以编辑所需信息并保存详细信息。
示例百里香叶形式代码
<input type="text" th:field="*{datePlanted}" />