You are viewing the documentation for the 2.0.x release series. The latest stable release series is 2.4.x.
§アプリケーションのグローバル設定
§Global オブジェクト
プロジェクト内に Global
オブジェクトを定義すると、アプリケーションのグローバル設定を行うことができます。このオブジェクトは (空の) デフォルトパッケージに定義される必要があります。
import play.api._
object Global extends GlobalSettings {
}
Tip:
application.global
という設定キーでGlobalSettings
の実装クラスを明示的に指定することもできます。
§アプリケーションの起動や停止をフックする
onStart
や onStop
メソッドをオーバーライドすることで、対応するアプリケーションのライフサイクルイベントの通知を受けることができます。
import play.api._
object Global extends GlobalSettings {
override def onStart(app: Application) {
Logger.info("Application has started")
}
override def onStop(app: Application) {
Logger.info("Application shutdown...")
}
}
§アプリケーションのエラーページを提供する
アプリケーションで例外が発生すると、onError
操作が呼び出されます。デフォルトでは、フレームワークに用意されている汎用的なエラーページを表示するようになっています。
import play.api._
import play.api.mvc._
import play.api.mvc.Results.__
object Global extends GlobalSettings {
override def onError(request: RequestHeader, ex: Throwable) = {
InternalServerError(
views.html.errorPage(ex)
)
}
}
§アクションが存在しない場合のエラー処理
フレームワークがリクエストに対応する Action
を見つけられなかった場合、onHandlerNotFound
操作が呼び出されます。
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)
)
}
}
また、ルートは存在するものの、リクエストパラメータをバインドできなかった場合は、onBadRequest
操作が呼び出されます。
import play.api._
import play.api.mvc._
import play.api.mvc.Results.__
object Global extends GlobalSettings {
override def onBadRequest(request: RequestHeader, error: String) = {
BadRequest("Bad Request: " + error)
}
}
次ページ: リクエストのインターセプト
このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。