Hi All,
How to identify the duplicate form submission in Spring MVC?
The problem I am facing is, the user is displayed a form. When the user enters the values and submits the form, I insert the values and show the user the same page (form) saying the successful submission. When the Page is refreshed, the datas are again populated with the values. I cannot redirect the user to different page. I need to show the same page.
I have used a SimpleFormController.
For Identifying the Duplicate Form Submission. I have used.Code:protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) { //Insert in to DB //Populate the Model and send the view. ModelAndView successModelAndView = new ModelAndView(getFormView()); successModelAndView.addObject("message", "successful.insertion"); return successModelAndView; }
In servlet.xml file I have configured for this controller as:Code:protected ModelAndView handleInvalidSubmit(HttpServletRequest request, HttpServletResponse response)throws Exception { BindException errors = getErrorsForNewForm(request); errors.reject("duplicateFormSubmission", "Duplicate form submission"); return showForm(request, response, errors); }
This works fine, only for the first refresh. When the I tried for refreshing further (the second time onwards), the DB insertion is happening.Code:<property name="sessionForm"><value>true</value></property> <property name="synchronizeOnSession"><value>true</value></property>
Even I tried redirecting the user to the same form when duplicate submission is identified. This works fine with IE and not with mozilla.
Please let me know, how to solve this issue?Code:protected ModelAndView handleInvalidSubmit(HttpServletRequest request, HttpServletResponse response)throws Exception { ModelAndView duplicateModelAndView = new ModelAndView(new RedirectView(getFormView())); return duplicateModelAndView; }
Thanks in Advance.


Reply With Quote