1
我有2种方法是通过@ModelAttribute注解返回相关对象控制器:Spring MVC的绑定错误的领域
@ModelAttribute("site")
public Site getSite(){
.....
return site;
}
@ModelAttribute("document")
public Document getDocument(){
.....
return document;
}
这些对象的相互关系具有许多文件一个站点。这种关系在JPA中映射。这两个对象都包含一个名称相同的字段,称为“urlAlias”。
@RequestMapping(method = RequestMethod.POST)
public ModelAndView create(@ModelAttribute("document") @Valid Document document, BindingResult documentResult,
@ModelAttribute("site") Site site, Model model){
...Do Stuff...
}
看来,任何:
<@spring.bind "document" />
....
<@spring.formInput "document.urlAlias" />
当我提交表单到控制器,我使用下面的语法检索文档对象:此字段使用以下freemarker的标记在页面上编辑我输入到Document的urlAlias字段中的值也已在Site对象中设置,尽管我只编辑了Document对象中字段的值。
我很困惑这里发生了什么。我是否通过在同一个控制器中映射多个ModelAttribute来做一些不愉快的事情?这种行为是否还有其他可能的原因?