org.thymeleaf.exceptions.TemplateInputException: Error resolving template 报错

时间:2022-01-23 08:33:46

org.thymeleaf.exceptions.TemplateInputException: Error resolving template报错


遇到二次,第一次是刚刚学的时候,都是一个原因,而且又看到网上的解决方法

又不相信懒得C,结果找了我半天

(主要自己之前没加这个也可以,但是突然就不可以了,还是抱着试一试)

在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式


这种情况下返回的数据thymeleaf模板无法解析,直接报错,本人正式因为这个原因才报错。

解决方案:可以将@Controller换成@RestController,不过需要注意有没有其他的方法返回了html页面,会导致返回的不是页面而是字符串;最好的方法就是在你所请求的方法上面加一个@ResponseBody即可。

在你的controller层对应的方法返回html路径及名称时,在前面多加了一个/ 。


例如return "/index",正式这个/导致报错的,解决:去掉返回前面的/即可,例如return "/index" 。

在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错。


解决办法如下:

在application.yml中添加以下配置

spring.thymeleaf.content-type: text/html
spring.thymeleaf.cache: false
spring.thymeleaf.mode: LEGACYHTML5

再在pom.xml 添加以下依赖

<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>

资源文件的路径被修改,如果你其他的请求都正常返回则可忽略这条。


解决:在pom.xml文件的中加入
<resource>
<directory>src/main/resources</directory>
</resource>

这就是我收集到的报错了