Spring MVC 3.0:如何绑定到持久对象
问题内容:
我正在使用Spring MVC,但我希望它从数据库中绑定一个持久对象,但是我无法弄清楚如何在绑定之前设置代码来调用数据库。例如,我正在尝试将“
BenefitType”对象更新到数据库,但是,我希望它从数据库中获取该对象,而不是创建一个新的对象,因此我不必更新所有字段。
@RequestMapping("/save")
public String save(@ModelAttribute("item") BenefitType benefitType, BindingResult result)
{
...check for errors
...save, etc.
}
问题答案:
因此,我最终通过在类中使用具有相同名称的@ModelAttribute注释方法来解决此问题。Spring在执行请求映射之前首先构建模型:
@ModelAttribute("item")
BenefitType getBenefitType(@RequestParam("id") String id) {
// return benefit type
}