出現的錯誤就是標題所寫的:org.thymeleaf.exceptions.TemplateInputException: Error resolving template 報錯,也就是下面這代碼
@GetMapping("/")
public String index() {
return "index";
}
一開始出這個錯誤,我立馬百度了一下,然后看到了下面幾種解答
1.在controller層請求處理完了回傳時,沒有使用@RestController或@ResponseBody而回傳了非json格式
我用了這個辦法,確實解決了,沒有報錯,但是跳轉的頁面顯示就是index這字符,根本沒跳頁面,所以我又查了這個問題,其他博客有人回答了,@Restcontroller給頁面回傳的是字串型別而不是json型別,必須將@Restcontroller改回@controlle,然后改回來又報錯,,,當初真的絕望,死回圈!!!然后下面幾種方法對我都沒用,但是可能對你們有用,我也一起分享一下!
2.在你的controller層對應的方法回傳html路徑及名稱時,在前面多加了一個/
例如:return "/index",正式這個/導致報錯的,解決:去掉回傳前面的/即可,例如return "/index"
3.在使用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>
4.資源檔案的路徑被修改,如果你其他的請求都正常回傳則可忽略這條
解決:在pom.xml檔案的中加入
<resource>
<directory>src/main/resources</directory>
</resource>
以上三種方法對我沒啥用
我的問題其實好像是因為快取問題,因為前面的都出了問題,當時花了2個小時,然后就是重啟了一下IDEA,結果莫名奇妙的就好了,所以如果大家也遇到這種情況,上面方法都沒用的時候,不如重啟一下IDEA或許就好了,也可以清一下快取!清快取的地方:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/174087.html
標籤:面向對象
