私は春のmvcを使用しています。コントローラーでは、Java Bean Order としてパラメーターを取得したいと考えています。Order Bean にはいくつかのパラメーターがあり、そのうちの 1 つが 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));
}
問題は、フォームをコントローラーに送信する前に dueDate の値を設定していない場合です。その後、エラーに遭遇します。BAD_REQUEST。 dueDate が null または "" であるためです。
それで、私は知りたいのですが、この問題を回避する方法は?私が見つけることができる解決策は次のとおりです。1.フォーム送信前のjsチェック。2. Order としてバインドせず、HttpServletRequest リクエストからパラメーターを取得する
最後の2つのソリューションで見つけた追加の質問。Order Bean のパラメーターが多すぎて、値を取得および設定するために長いコードを記述する必要がある場合、将来的に負荷がかかる可能性があります。