You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.0.2集成Thymeleaf模板报404错误,求解决方案

解决Spring Boot 2.0.2升级后Thymeleaf模板找不到的问题

你好,针对你升级Spring Boot版本后遇到的Thymeleaf模板解析404问题,我整理了几个针对性的解决步骤,帮你快速排查修复:

1. 修正Thymeleaf路径前缀配置

Spring Boot 2.x对Thymeleaf的默认路径规则做了调整,你当前配置的prefix: /templates/缺少classpath标识,系统无法正确定位到src/main/resources/templates目录。修改application.yml中的配置:

spring:
  thymeleaf:
    cache: false
    enabled: true
    mode: HTML  # Thymeleaf 3.x推荐使用HTML模式,原HTML5模式在新版本中已调整
    prefix: classpath:/templates/  # 添加classpath前缀,明确资源位置
    suffix: .html

2. 移除依赖中的手动版本指定

Spring Boot的starter依赖已经通过父项目统一管理版本,手动指定<version>可能引发依赖冲突。修改pom.xml中的Thymeleaf依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <!-- 移除手动指定的version,让Spring Boot parent自动管控版本 -->
</dependency>

3. 补全"error"模板或调整错误处理逻辑

错误提示明确指向找不到error模板,这是因为Spring Boot 2.x默认会在系统触发异常/错误请求时,自动寻找templates/error.html作为全局错误页面。你可以二选一处理:

  • 在src/main/resources/templates目录下创建一个简单的error.html模板文件;
  • 自定义ErrorController类,覆盖默认的错误跳转逻辑,指定你需要的错误页面。

4. 确认邮件模板的调用路径(额外检查)

虽然当前错误提示是error模板,但也建议确认邮件模板的调用逻辑:如果你的邮件模板在templates/email/xxx.html,那么调用TemplateEngine时要传入email/xxx作为模板名称,不要带后缀或完整路径。

5. 清理缓存并重启项目

版本升级后残留的编译缓存可能导致配置不生效,建议先执行mvn clean install清理项目,再重启应用,确保新配置完全加载。

按照以上步骤调整后,应该就能解决模板找不到的问题啦。如果还有疑问,可以检查下项目的src/main/resources是否被IDE正确标记为资源根目录。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:11:11