JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
Spring-MVCの散歩道 > Spring Boot の小径 > 第4歩 Spring Boot 匍匐前進 > エラーページについて

package jp.dip.arimodoki.common;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.boot.autoconfigure.web.ErrorViewResolver;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;

/**
 * HTTP 404 エラー等のハンドリングサンプルクラス
 * 404 エラーや、 500エラーは、このリゾルバでキャッチされる
 */
@Component
public class GlobalErrorViewResolver implements ErrorViewResolver {
        @Override
        public ModelAndView resolveErrorView(
                HttpServletRequest request,
                HttpStatus status,
                Map<String, Object> model) {

                ModelAndView mav = new ModelAndView();

                // 遷移先のViewを指定します。(error.htmlなどに遷移します。)
                if(status == HttpStatus.NOT_FOUND) {
                        // Viewに表示するメッセージをセットします。
                        mav.addObject("errmessage", "ページが見つかりません。status:"+status.value());
                        mav.setViewName("404");                // resources/templates/404.html を表示する
                } else {
                        mav.addObject("errmessage", "HTTPエラーです。status:"+status.value());
                        mav.setViewName("error");                // resources/templates/error.html を表示する
                }
                return mav;
        }
}