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

照着视频编写程序使用Thymeleaf出现模板解析错误该如何解决?

Thymeleaf模板解析报错原因及解决方案

错误根因

这个org.thymeleaf.exceptions.TemplateInputException异常核心原因是Thymeleaf引擎无法正确解析resources/templates路径下的home.html模板文件,常见触发原因如下:

  • 模板文件语法错误:HTML标签未闭合、Thymeleaf属性th:*拼写错误、属性值格式不符合要求(比如表达式写错、引号不配对)
  • 模板引用资源错误:模板中引用的片段、静态资源路径错误,或者引入的公共片段不存在
  • 后端传值不匹配:Controller层往Model中存入的变量名和模板中使用${}取值的变量名不一致,或者变量为null时没有做非空判断直接调用方法/属性
  • 模板文件路径/名称错误:home.html文件放错了目录,或者文件名大小写拼写和Controller中返回的视图名不一致(Linux系统对大小写敏感会触发报错)
  • Thymeleaf依赖缺失或版本不兼容:项目配置中Thymeleaf starter依赖缺失,或者版本和当前SpringBoot版本不匹配

对应解决方案

  1. 检查home.html的语法正确性
    确认所有HTML标签都正确闭合,所有th:开头的属性拼写正确,Thymeleaf表达式${}、*{}、@{} 等格式正确,引号没有缺失。
  2. 检查变量传值匹配逻辑
    检查Controller对应接口的Model写入逻辑,确认存入的变量名和模板中使用的变量名完全一致,对可能为null的变量使用${变量名?.属性名}的安全调用写法,避免空指针触发解析失败。
  3. 验证文件路径和名称
    确认home.html放在src/main/resources/templates目录下,文件名和Controller返回的视图字符串大小写完全一致。
  4. 检查依赖配置
    如果是SpringBoot项目,确认pom.xml中已引入正确的Thymeleaf启动器:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

无需手动指定版本,和SpringBoot父工程版本保持一致即可避免版本兼容问题。
5. 开启详细报错日志定位具体问题
在application.properties/yml中添加配置开启Thymeleaf的详细错误日志,就能直接看到模板具体哪一行出了问题:

spring.thymeleaf.mode=HTML
spring.thymeleaf.cache=false
logging.level.org.thymeleaf=DEBUG

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:57:06