ただのブログです

技術的な物とかを主に。主にWeb系がメイン。いつか、職業エンジニアになりたい。

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用のページを作っておけばよい。