Thursday, 12 September 2013

Reference Data is lost from Form when Validation Fails (Spring 3 MVC)

Reference Data is lost from Form when Validation Fails (Spring 3 MVC)

I am new to Spring I am having a page addContact,in that I am getting
dropDown Data from Database in the following way
@RequestMapping("/addContact")
public ModelAndView registerContact(@ModelAttribute Contact contact) {
List<ContactType> contactTypeList = contactdao.getContactTypeList();
Map<Integer,String> contactTypeSelect = new LinkedHashMap<Integer,String>();
Iterator<ContactType> iterator = contactTypeList.iterator();
while (iterator.hasNext()) {
ContactType ct = iterator.next();
contactTypeSelect.put(ct.getContactTypeId(),ct.getContactTypeName());
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("contactTypeSelect", contactTypeSelect);
return new ModelAndView("addContact", "map", map);
}
Now to Insert the Data into Database, I am having following method,
@RequestMapping("/insert")
public String insertData(@Valid Contact contact, BindingResult result,
HttpServletRequest request ) {
if (result.hasErrors()) {
return "addContact";
}
else {
HttpSession session = request.getSession();
session.setAttribute("path",
request.getSession().getServletContext().getRealPath("/WEB-INF"));
if (contact != null){
contactService.insertData(contact,request);
}
return "redirect:/getList";
}
}
When the validation fails, the drop down data is lost (which is obvious),
what is the correct way of achieving the validation.

No comments:

Post a Comment