playでカスタムエラーページ
久しぶりにスクラッチで書き始めてみたらカスタムエラーページのやり方を忘れていたのでメモ
公式にも書いてあるけど
GlobalSettingsを継承したGlobalオブジェクトをルートパッケージにつくりそこの
onHandlerNotFoundとか
onErrorをいじる
デフォルトではGlobalオブジェクトは配置されないので迷った。
import play.api._
import play.api.mvc._
import play.api.mvc.Results.__
// デフォルトパッケージに含める
object Global extends GlobalSettings {
override def onHandlerNotFound(request: RequestHeader): Result = NotFound(
views.html.notFoundPage(request.path)
)
}
あとは普通にテンプレート作って404なり500用のページを作っておけばよい。