所以我查了一下,我查看了各种来源,但是当找不到处理程序时,我找不到渲染特定页面的方法。
我已经在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文档。我尝试过几种方法,但总会出现错误。
感谢。
答案 0 :(得分:4)
创建views/notFound.scala.html
模板以呈现HTML页面。然后像在任何其他操作中使用模板一样呈现它。
override def onHandlerNotFound(request: RequestHeader) = {
Future.successful(NotFound(
views.html.notFound()
))
}
答案 1 :(得分:0)
如果您只是想以不同的方式处理产品模式:
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)
}