新しいことをやってみるシリーズ:Play Framework2.3.1でエラーページを用意する

404ページなどのエラー画面をPlay Frameworkで用意してみます。まずはテンプレートを準備します。

app/views/errors/errorPage.scala.html

@(message: String)

@main("Welcome to Play") {
<h1>@message</h1>

}

エラー画面などの共通処理はGlobal.javaに記述します。

http://www.playframework.com/documentation/2.3.x/JavaGlobal

app/Global.java

import play.*;
import play.mvc.*;
import play.mvc.Http.*;
import play.libs.F.*;

import views.html.*;

import static play.mvc.Results.*;

public class Global extends GlobalSettings {

    public Promise<Result> onError(RequestHeader request, Throwable t) {
        Logger.error("[Error] " + request.uri(), t);
        return Promise.<Result>pure(internalServerError(
            views.html.errors.errorPage.render("エラーが発生しました。")
        ));
    }

}

https://github.com/YoshiteruIwasaki/sample-play-java-app/commit/7fdd6476cffbf232b2e07c850dc1b23d4f6953d6