इस समय मैं स्प्रिंग एमवीसी 3.1 के साथ पोस्ट/रीडायरेक्ट/पैटर्न प्राप्त करने की कोशिश कर रहा हूं। मॉडल डेटा + सत्यापन त्रुटियों को संरक्षित और पुनर्प्राप्त करने का सही तरीका क्या है? मुझे पता है कि मैं अपने POST विधि में RedirectAttributes के साथ मॉडल और बाइंडिंग रीसेट को संरक्षित कर सकता हूं। लेकिन फ्लैश स्कोप से जीईटी विधि में उन्हें पुनर्प्राप्त करने का सही तरीका क्या है?पोस्ट/रीडायरेक्ट के साथ मॉडल स्थिति को संरक्षित करना/पैटर्न
@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="*" />
इसके अलावा यह कैसे से फ्लैश दायरे तक पहुँचने के लिए दिलचस्प हो जाएगा विधि प्राप्त करें?
यह प्रश्न के पूरे बिंदु को याद करता है। वह पोस्ट में स्क्रीन को वापस करने से बचने की कोशिश कर रहा है क्योंकि ब्राउजर कैसे फॉर्म बनाते हैं। यदि उपयोगकर्ता रीफ्रेश करता है, या फॉर्म को दोबारा पोस्ट किया जाता है जो सर्वर पर दो बार संशोधित किया जा सकता है। प्राप्त करने के द्वारा उन्हें वापस मूल रूप में रीडायरेक्ट करने के लिए बहुत बेहतर है। – chubbsondubs