「SpringBoot」@ModelAttributeを使用してバインドを行う

構文
1.クラス ModelAndView
DispatcherServlet によって解決される、ハンドラーによって返されるモデルとビューを表します。

2.public interface BindingResult extends Errors

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DataBinder.getBindingResult() メソッドを介して取得された DataBinder の結果ホルダーとして機能します。
DataBinder.getBindingResult() メソッドを介して取得された DataBinder の結果ホルダーとして機能します。
DataBinder.getBindingResult() メソッドを介して取得された DataBinder の結果ホルダーとして機能します。

3.public void setViewName(@Nullable String viewName)
ViewResolver を介して DispatcherServlet によって解決されるこの ModelAndView のビュー名を設定します。既存のビュー名またはビューをオーバーライドします。

4.public interface Errors

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
特定のオブジェクトのデータバインディングおよび検証エラーに関する情報を格納および公開します。
boolean hasErrors()
エラーがあった場合に戻ります。
特定のオブジェクトのデータバインディングおよび検証エラーに関する情報を格納および公開します。 boolean hasErrors() エラーがあった場合に戻ります。
特定のオブジェクトのデータバインディングおよび検証エラーに関する情報を格納および公開します。
boolean hasErrors()
エラーがあった場合に戻ります。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@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;
}
@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; }
@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 というクラスを引数にすることで、バインドが失敗したかどうかを判定します。

Spring Boot

Posted by arkgame