springBoot+template的controller報錯 org.thymeleaf.exceptions.TemplateInputException: Error resolving
部分報錯資訊
org.thymeleaf.exceptions.TemplateInputException: Error resolving template "announce/getAnnouncementList", template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:246) ~[thymeleaf-2.1.5.RELEASE.jar:2.1.5.RELEASE]
解決方案:
1.如果類的註解用的是 @Controlle r的時候,在方法的上方加上 @ResponseBody 註解就可以
或者直接可以將類註解修改為 @RestController ,不用加 @ResponseBody
不要妄想兩個註解一起用,沒用
[email protected] 註解,相當於 @Controller + @ResponseBody 兩個註解的結合,返回json資料不需要在方法前面加@ResponseBody註解,但使用@RestController這個註解,就不能返回jsp,html頁面,檢視解析器無法解析jsp,html頁面,返回內容就是return的內容
3.如果需要返回到指定頁面,則需要用 @Controller配合檢視解析器InternalResourceViewResolver才行,圖解析器可以解析return 的jsp,html頁面,並且跳轉到相應頁面。如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。