如何在 Spring 中编辑 Whitelabel 错误页面
Posted
技术标签:
【中文标题】如何在 Spring 中编辑 Whitelabel 错误页面【英文标题】:How to edit Whitelabel Error Page in Spring 【发布时间】:2018-10-09 17:22:11 【问题描述】:我只想编辑 Spring White Label Page。我看到很多删除此页面的教程,但我只想在这里更改一些文本,例如错误 404 - 返回!有教程吗?
谢谢!
【问题讨论】:
【参考方案1】:如果您使用的是 Spring Boot 1.4+ 版本,自定义错误页面可能会根据其相应的错误代码(例如 404.html)命名,并放置在静态文件的 /src/main/resources/public/error 目录中或/src/main/resources/templates/error 目录(如果使用模板引擎)。有关详细信息,请参阅Spring Boot and custom 404 error page。您也可以按照以下步骤实施自定义错误页面。
在 application.properties 文件中将 server.error.whitelabel.enabled 属性设置为 false。这将禁用错误页面并显示源自底层应用程序容器的错误页面。
server.error.whitelabel.enabled=false
创建自定义错误页面并将它们保存在资源/模板目录中。这些页面可以根据不同的 HTTP 状态代码创建和命名,例如:error-404、error-500 等。
创建一个新的 Controller 类来实现 ErrorController 接口并覆盖 getErrorPath 方法。为 getErrorPath 方法返回的路径创建一个映射。处理此映射的方法可以读取错误代码并返回相应的自定义错误页面。
@Controller
public class MyErrorController implements ErrorController
private static final String ERROR_PATH = "/error";
@RequestMapping("/error")
public String handleError(HttpServletRequest request)
Object status =
request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if (status != null)
Integer statusCode = Integer.valueOf(status.toString());
if(statusCode == HttpStatus.NOT_FOUND.value())
return "error-404";
else if(statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value())
return "error-500";
return "error";
@Override
public String getErrorPath()
return ERROR_PATH ;
【讨论】:
以上是关于如何在 Spring 中编辑 Whitelabel 错误页面的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring Boot Web 应用程序中刷新后的 Whitelabel 错误页面
Spring Boot Actuator 不工作 - Whitelabel 错误页面
尝试呈现 index.html 时的 Spring Boot + Thymeleaf =“Whitelabel 错误页面”