在 Play 框架中创建自定义 404/500 错误页面

2022-09-04 00:57:23

如何使用Play创建全局自定义查找404/505错误页面?


答案 1

在 Play Framework 1 中,您只需修改提供的 和 。app/views/errors/404.htmlapp/views/errors/500.html


答案 2

2.5.x 中的错误处理已更改。现在,您需要一个 ErrorHandler 来处理错误并自行显示自定义错误页面。

2.5.x 的文档说:

提供自定义错误处理程序

import play.api.http.HttpErrorHandler
import play.api.mvc._
import play.api.mvc.Results._
import scala.concurrent._
import javax.inject.Singleton;

@Singleton
class ErrorHandler extends HttpErrorHandler {

  def onClientError(request: RequestHeader, statusCode: Int, message: String) = {
    Future.successful(
      Status(statusCode)("A client error occurred: " + message)
    )
  }

  def onServerError(request: RequestHeader, exception: Throwable) = {
    Future.successful(
      InternalServerError("A server error occurred: " + exception.getMessage)
    )
  }
}

您可以在Github上找到默认的错误页面:https://github.com/playframework/playframework/tree/master/framework/src/play/src/main/scala/views/defaultpages

有关更多详细信息,请参阅 https://www.playframework.com/documentation/2.5.x/ScalaErrorHandling


推荐