仅在Play中显示生产中的自定义错误页面

时间:2014-09-24 18:55:25

标签: scala playframework playframework-2.3

我们希望使用我们自己的错误页面覆盖标准的播放错误页面。不幸的是,在我们的onError文件中覆盖Global会替换所有模式中的错误页面,即使我们想要保留信息性调试错误页面。如何检测开发模式以保留该模式下的内置行为?

2 个答案:

答案 0 :(得分:3)

Play对象具有帮助方法,可以检查当前的应用程序模式。

import play.api._

object Global extends GlobalSettings {
  override def onError(request: RequestHeader, e: Throwable): Future[SimpleResult] = {
    if (!Play.isDev)
      Future.successful(InternalServerError(views.html.customErrorPage()))
    else
      super.onError(request, e)
  }
}

答案 1 :(得分:2)

试试这个:

if (play.api.Play.current.mode == play.api.Mode.Prod)
  ...