0

私は春の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 のパラメーターが多すぎて、値を取得および設定するために長いコードを記述する必要がある場合、将来的に負荷がかかる可能性があります。

4

1 に答える 1