繁体   English   中英

如何在Play 2.2中设置Play Framework 404(OnHandlerNotFound)页面?

[英]How can one set up a Play Framework 404 (OnHandlerNotFound) page in Play 2.2?

所以我已经检查了周围,我已经查看了各种来源,但是当找不到处理程序时,我找不到渲染特定页面的方法。

我已经在Global.scala中找到了这一点:

import play.api._
import play.api.mvc._
import play.api.mvc.Results._
import scala.concurrent.Future
import views.html._

object Global extends GlobalSettings {

  override def onHandlerNotFound(request: RequestHeader) = {
    Future.successful(NotFound(
      ??
    ))
  }

}

我只是不确定在“??”添加什么 在该代码中,在找不到Handler时呈现特定的html文档。 我尝试了几种方法,但总会出现错误。

谢谢。

创建views/notFound.scala.html模板以呈现HTML页面。 然后像在任何其他操作中的模板一样渲染它。

override def onHandlerNotFound(request: RequestHeader) = {
  Future.successful(NotFound(
    views.html.notFound()
  ))
}

如果您只是想以不同的方式处理prod模式:

  override def onHandlerNotFound(request: RequestHeader): Future[Result] =
    Play.maybeApplication match {
      case Some(app) if app.mode == Mode.Prod => Future.successful(Ok(views.html.notFound()))
      case _ => super.onHandlerNotFound(request)
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM