目前我正試圖使用Spring MVC 3.1實現Post/Redirect/Get模式。什麼是保留和恢復模型數據+驗證錯誤的正確方法?我知道我可以在POST方法中使用RedirectAttributes保留模型和BindingResult。但是,從閃存範圍的GET方法中恢復它們的正確方法是什麼?使用Post/Redirect /獲取模式保存模型狀態
我也做了以下內容POST:
@RequestMapping(value = "/user/create", method = RequestMethod.POST)
public String doCreate(@ModelAttribute("user") @Valid User user, BindingResult result, RedirectAttributes rA){
if(result.hasErrors()){
rA.addFlashAttribute("result", result);
rA.addFlashAttribute("user", user);
return "redirect:/user";
}
return "redirect:/user/success";
}
而下面來獲取用戶創建形式:
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView showUserForm(@ModelAttribute("user") User user, ModelAndView model){
model.addObject("user", user);
model.setViewName("userForm");
return model;
}
這讓我在的情況下保持給定的用戶數據錯誤。但是,什麼是恢復錯誤的正確方法(BindingResult)我想與彈簧形式的標籤,以顯示他們在形式:
<form:errors path="*" />
除了這將是有趣如何從訪問閃存範圍get方法?
這忽略了問題的整個觀點。他試圖避免在POST中返回屏幕,因爲瀏覽器如何處理髮布的表單。如果用戶點擊刷新,或返回表單重新發布,這可能導致狀態在服務器上被修改兩次。更好地使用get將它們重定向回原始形式。 – chubbsondubs 2012-08-31 21:31:00