gpt4 book ai didi

java - 如何在 Play Framework 2.4 (Java) 上创建自定义 "Action Not Found"页面

转载 作者:行者123 更新时间:2023-11-30 08:06:35 24 4
gpt4 key购买 nike

目前,如果我在我的 Play Framework 应用程序上访问未定义的路径,则会出现默认的“未找到操作页面”。为了不在浏览器上显示系统信息,我尝试制作自定义“未找到操作页面”。

我检查了页面。

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 没有显示,默认的“Action Not Found page”出现。Logger.debug 也没有被调用。

我在 Scala 上找到了同样的问题,但没有任何答案。

How to handle "Action not found" with Dependency Injection Play framework 2.4

你能给我一些建议吗?

最佳答案

我自己解决了这个问题!我注意到我应该将 ErrorHandler.java 添加到默认包或添加到另一个包并将其类路径写入 application.conf,如下所示。

play.http.errorHandler = "com.example.ErrorHandler"

感谢您的支持!

关于java - 如何在 Play Framework 2.4 (Java) 上创建自定义 "Action Not Found"页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34287060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com