在 Play 框架中创建自定义 404/500 错误页面
2022-09-04 00:57:23
如何使用Play创建全局自定义查找404/505错误页面?
在 Play Framework 1 中,您只需修改提供的 和 。app/views/errors/404.html
app/views/errors/500.html
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。