thymeleaf 使用页面报错_SpringBoot 利用thymeleaf自定义错误页面
时间: 2023-10-13 15:21:43 浏览: 143
如果你在使用 Thymeleaf 时遇到了页面报错,可以查看控制台输出的错误信息,找到具体的问题所在。常见的错误包括语法错误、模板引用错误、标签使用错误等等。
如果你想利用 Thymeleaf 自定义错误页面,可以按照以下步骤进行:
1. 首先在 `src/main/resources/templates` 目录下创建一个 `error` 目录。在该目录下创建一个名为 `error.html` 的 Thymeleaf 模板文件。
2. 在 `application.properties` 文件中配置错误处理的地址:
```
server.error.path=/error
```
3. 创建一个名为 `ErrorController` 的控制器类,用于处理错误请求:
```java
@Controller
public class ErrorController implements org.springframework.boot.web.servlet.error.ErrorController {
@RequestMapping("/error")
public String handleError(HttpServletRequest request, HttpServletResponse response) {
// 获取错误状态码
Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
// 根据状态码返回不同的错误页面
if (statusCode == 404) {
return "error/404";
} else {
return "error/500";
}
}
@Override
public String getErrorPath() {
return "/error";
}
}
```
4. 在 `error` 目录下创建 `404.html` 和 `500.html` 两个 Thymeleaf 模板文件,用于显示不同类型的错误页面。
例如,`404.html` 可以这样编写:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>404 Not Found</title>
</head>
<body>
<h1>404 Not Found</h1>
<p>您请求的页面不存在,请检查您输入的地址是否正确。</p>
</body>
</html>
```
5. 访问不存在的页面,尝试触发 404 错误,可以看到自定义的错误页面。
如果你想测试 500 错误,可以在控制器中抛出一个异常,例如:
```java
@RequestMapping("/test")
public String test() {
throw new RuntimeException("测试错误");
}
```
然后访问 `/test` 地址即可。
阅读全文