【发布时间】:2015-06-24 00:26:23
【问题描述】:
我有一个包含 10 多个字段输入的表单,用户将对其进行更新。提交时,我需要更新对象(按 id)和表单中修改的任何/所有字段(使用 Spring Data JPA 和存储库)。我相信我可以通过将@ModelAttribute 作为绑定到我的对象的方法参数来做到这一点,但我还没有完全理解这一点。这是我的控制器
@RequestMapping(value = "/saveUser/{id}", method = RequestMethod.POST)
public String saveUser(@ModelAttribute("User") User user, @PathVariable Long id, Model model) {
user = userRepo.findOne(id); //Spring Repository method to find user by ID
// Here is where you'd set all fields of the User object including those modified in the form
model.addAttribute("user", user);
userRepo.save(user); //Updates user in database
return "success";
}
我正在寻找一种与以下功能完全相同的方法:
user.setName(user.getName());
user.setAddress(user.getAddress));
//etc.
没有显式调用每个 set 方法(字段输入的数量会增加)。
谢谢小伙伴们
【问题讨论】:
标签: spring forms spring-mvc