I'm using spring mvc. In the controller, I want to get parameter as java Bean Order. Order bean has several parameters, one of them is dueDate (java.util.Date).
@RequestMapping("/toAddOrder")
public ModelAndView addOrder(Order order, BindingResult bindingResult){
return new ModelAndView("redirect:toViewOrder");
}
@InitBinder
protected void initBinder(
WebDataBinder binder) throws ServletException {
binder.registerCustomEditor(byte[].class,
new ByteArrayMultipartFileEditor());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
Problem is if I not set value for dueDate before submiting form to controller. Then will meet error. BAD_REQUEST, because dueDate is null or "".
So, I want to know, how to avoid this problem? Solutions I can found are as follows. 1. js check before submit form. 2. not binding as Order, get parameters from HttpServletRequest request
Extra questions I found for last 2 solutions. If Order Bean has too many parameters, so I will need to write long code to get and set value, this may add load for me in future.