Hiện tại tôi đang cố triển khai mẫu Gửi/Chuyển hướng/Nhận với Spring MVC 3.1. Cách chính xác để bảo tồn và phục hồi dữ liệu mô hình + lỗi xác nhận là gì? Tôi biết rằng tôi có thể bảo toàn mô hình và BindingResult với các RedirectAttributes trong phương thức POST của tôi. Nhưng cách phục hồi chính xác chúng trong phương thức GET từ phạm vi flash là gì?Bảo toàn trạng thái mô hình bằng Đăng/Chuyển hướng/Nhận mẫu
Tôi đã làm như sau để 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";
}
Và sau đây để có được những hình thức sáng tạo user:
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView showUserForm(@ModelAttribute("user") User user, ModelAndView model){
model.addObject("user", user);
model.setViewName("userForm");
return model;
}
này cho phép tôi để bảo vệ dữ liệu người dùng được đưa ra trong trường hợp của một lỗi. Nhưng cách đúng đắn về việc khôi phục lỗi này là gì (BindingResult) Tôi muốn hiển thị chúng theo hình thức với các thẻ hình thức mùa xuân:
<form:errors path="*" />
Bên cạnh đó nó sẽ là thú vị như thế nào để truy cập vào phạm vi đèn flash từ phương thức get?
Điều này bỏ qua toàn bộ điểm của câu hỏi. Anh ấy đang cố gắng tránh trả lại màn hình trong POST vì cách trình duyệt xử lý các biểu mẫu đã đăng. Nếu người dùng nhấn làm mới hoặc quay lại biểu mẫu được đăng lại, điều này có thể khiến trạng thái được sửa đổi hai lần trên máy chủ. Tốt hơn nhiều để chuyển hướng chúng trở lại hình thức ban đầu bằng cách sử dụng get. – chubbsondubs