Documentation

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 の実装クラスを明示的に指定することもできます。

§アプリケーションの起動や停止をフックする

onStartonStop メソッドをオーバーライドすることで、対応するアプリケーションのライフサイクルイベントの通知を受けることができます。

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 チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。