出现的错误就是标题所写的:org.thymeleaf.exceptions.TemplateInputException: Error resolving template 报错,也就是下面这代码html
@GetMapping("/") public String index() { return "index"; }
一开始出这个错误,我立马百度了一下,而后看到了下面几种解答
html5
1.在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式spring
我用了这个办法,确实解决了,没有报错,可是跳转的页面显示就是index这字符,根本没跳页面,因此我又查了这个问题,其余博客有人回答了,@Restcontroller给页面返回的是字符串类型而不是json类型,必须将@Restcontroller改回@controlle,而后改回来又报错。。。当初真的绝望,死循环!!!而后下面几种方法对我都没用,可是可能对大家有用,我也一块儿分享一下!
2.在你的controller层对应的方法返回html路径及名称时,在前面多加了一个/json
例如:return "/index",正式这个/致使报错的,解决:去掉返回前面的/便可,例如return "/index"
缓存
3.在使用springboot的过程当中,若是使用thymeleaf做为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,不然会报错springboot
解决办法以下:
在application.yml中添加如下配置app
spring.thymeleaf.content-type: text/html spring.thymeleaf.cache: false spring.thymeleaf.mode: LEGACYHTML5
再在pom.xml 添加如下依赖code
<dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.22</version> </dependency>
4.资源文件的路径被修改,若是你其余的请求都正常返回则可忽略这条
解决:在pom.xml文件的中加入xml
<resource> <directory>src/main/resources</directory> </resource>
个人问题其实好像是由于缓存问题,由于前面的都出了问题,当时花了2个小时,而后就是重启了一下IDEA,结果莫名奇妙的就行了,因此若是你们也遇到这种状况,上面方法都没用的时候,不如重启一下IDEA或许就行了,也能够清一下缓存!清缓存的地方:
htm