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來做一些不愉快的事情?這種行爲是否還有其他可能的原因?