0
爲什麼我的ID沒有保存@ModelAttribute?爲什麼我必須將其作爲隱藏參數發送給我的表單?使用命令時不應該彈出這個句柄嗎?爲什麼我的ID沒有保存@ModelAttribute?
@RequestMapping(value="/{supplierId}", method=RequestMethod.GET)
public String get(@PathVariable Long supplierId, Model model, Principal principal){
Form form = .... //Got a an existing form from DB
model.addAttribute("form", form);
return "/form";
}
@RequestMapping(value="/{supplierId}", method=RequestMethod.POST)
public String post(HttpServletRequest request, @PathVariable Long supplierId, @Valid @ModelAttribute("form") Form form, BindingResult result, Model model, Principal principal){
System.out.println(form.getID()); //Here the id is 0
safeFoodFormService.store(form, supplierId);
return "redirect:/supplier";
}
我Freemarker的形式
<form class="form-horizontal" action="<@spring.url "/forms/${supplier.ID?c}"/>" method="post" command="form">
如果我不添加此行我的表單裏面
<@spring.bind "form.ID" />
<input type="hidden" name="${spring.status.expression}" value="${spring.status.value default("")}" />
我將是非常好的,如果這可以由Spring來處理它會工作。謝謝