小编jul*_*lus的帖子

保持spring mvc的model属性值

当我使用Spring MVC控制器并通过设置值来提交表单时,modelAttribute我丢失了一些未映射到表单中的模型字段.在此示例中,因为我没有映射年龄和地址,所以这些用户的字段会丢失,因此它们具有null价值.我不想让用户更改他们的年龄和地址,这就是为什么这些字段不在表单中.

方法控制器发布用户编辑表单:

@RequestMapping(value = "/edit", method = RequestMethod.POST)
public String editionUser(Model model, @ModelAttribute("accountForm") User user,
  BindingResult bresult,
  RedirectAttributes redirectAttributes) {
  //user.getAge() and user.getAddress are null           

  //Save the information...
}
Run Code Online (Sandbox Code Playgroud)

获取编辑用户页面的方法控制器:

@RequestMapping(value = "/edit", method = RequestMethod.GET)
public String initEdit(Model model) {
  // the user fields are all filled
  User user = userService.getUserById(...);
  model.addAttribute("accountForm", user);
  return "edition";
}


class User {
  Long id;
  String email;
  String age;
  String address;
  String nickname;

  // ...
}
Run Code Online (Sandbox Code Playgroud)

edition.jsp

<form:form …
Run Code Online (Sandbox Code Playgroud)

forms spring controller spring-form

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

controller ×1

forms ×1

spring ×1

spring-form ×1