【问题标题】:thymeleaf :: populate the form with data from the servicethymeleaf :: 使用来自服务的数据填充表单
【发布时间】:2018-04-22 03:19:45
【问题描述】:

我有一个控制器如下

@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 标签中

然后,此表单将用于向控制器发送发布请求以保存用户所做的更改。

问题是我没有看到任何代码示例已完成此操作。我见过的所有示例,表单都是空的,然后加载页面。用户填写空表单并点击提交,然后此信息将存储在数据库中。

但另一方面,我正在做相反的事情。我需要在页面加载时使用用户对象填充表单,然后在提交时将此表单保存在数据库中。

有人可以指导我这个例子吗?

【问题讨论】:

  • 这个问题和你之前的查询here不一样吗?你没有尝试我给出的建议吗?即如何将模型与表单绑定 - 用于新建和编辑
  • 是的,做到了.. 感谢您的帮助

标签: javascript forms spring-mvc thymeleaf


【解决方案1】:

@user641887

在页面加载时填充用户详细信息时,使用th:field 为只读表单绑定数据,当用户单击编辑按钮时,将允许编辑的表单字段设为可编辑。现在用户可以编辑所需的信息并保存详细信息。

百里香形式代码示例

    <input type="text" th:field="*{datePlanted}" />

【讨论】:

    猜你喜欢
    • 2019-01-25
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多