「SpringBoot」@ModelAttributeを使用してバインドを行う
構文
1.クラス ModelAndView
DispatcherServlet によって解決される、ハンドラーによって返されるモデルとビューを表します。
2.public interface BindingResult extends Errors
DataBinder.getBindingResult() メソッドを介して取得された DataBinder の結果ホルダーとして機能します。
3.public void setViewName(@Nullable String viewName)
ViewResolver を介して DispatcherServlet によって解決されるこの ModelAndView のビュー名を設定します。既存のビュー名またはビューをオーバーライドします。
4.public interface Errors
特定のオブジェクトのデータバインディングおよび検証エラーに関する情報を格納および公開します。 boolean hasErrors() エラーがあった場合に戻ります。
使用例
@RequestMapping("/user") public ModelAndView user(@ModelAttribute UserBean userBean, BindingResult result, ModelAndView modelView) { if (result.hasErrors()) { //バインドエラー時 modelView.setViewName("failure"); 処理コード return modelView; } modelView.setViewName("success"); return modelView; }
@ModelAttribute を使用してバインドを行う場合、クラスの後ろに BindingResult というクラスを引数にすることで、バインドが失敗したかどうかを判定します。