当前,如果我访问我的播放框架应用程序上的未定义路径,则会显示默认的“未找到操作页面”。我试图制作自定义的“未找到操作页面”,以免在浏览器上显示系统信息。
我检查了页面。
https://www.playframework.com/documentation/2.4.x/JavaErrorHandling
我实现了以下代码。
package controllers;
import play.Logger;
import play.http.HttpErrorHandler;
import play.mvc.*;
import play.mvc.Http.*;
import play.libs.F.*;
import views.html.*;
public class ErrorHandler implements HttpErrorHandler {
public Promise<Result> onClientError(RequestHeader request, int statusCode, String message) {
Logger.debug("onClientError");
return Promise.<Result> pure(
Results.badRequest(error.render())
);
}
public Promise<Result> onServerError(RequestHeader request, Throwable exception) {
Logger.debug("onServerError");
return Promise.<Result> pure(
Results.internalServerError("A server error occurred: " + exception.getMessage())
);
}
}
但是,不会显示error.scala.html,并且会显示默认的“未找到操作页面”。Logger.debug也没有被调用。
我为Scala找到了相同的问题,但没有任何答案。
你能给我什么建议吗?
我自己解决了这个问题!我注意到我应该将ErrorHandler.java添加到默认程序包或添加到另一个程序包,并将其类路径这样写入application.conf。
play.http.errorHandler = "com.example.ErrorHandler"
感谢您的支持!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句