thymeleaf是目前最新的模板引擎,它和springboot完美搭配,讓前后端不在疏遠
首先先介紹一下市面上出現過的模板引擎
1, Verlocity 距今有10多年之久,是由Apache推出的 Struts2 底層使用2,Freemarker,距今有10多年之久, 第三方小公司推出,后來得到了Apache的認可,在Struts2這個框架中, 底層使用Freemarker. SpringBoot 默認使用Freemarker是以.ftl結尾的文件.
3,Thymeleaf是以.html結尾的文件.
那么,SpringBoot+thymeleaf找不到.HTML文件的原因有那些呢?
1,首先確認是否導入thymeleaf依賴
2,確認自己寫的.html為后綴的文件是否放到 resources/templates/ 文件夾下。
3,確認自己的Controller類要放在與 有@SpringBootApplication注解的啟動類相同包或者子包下。
4,確認Controller類不能使用 @RestController 或者 @ResponseBody注解,否則會直接return該字符串,是return不到目標html的。
有的朋友可能大意在啟動引導類中寫了 @RestController注解,
導致最后返回的只有一個字符串.如圖所示 search.
ps:下面看下Spring boot找不到template下面的html文件解決方法
靜態頁面
spring boot項目只有src目錄,沒有webapp目錄,會將靜態訪問(html/圖片等)映射到其自動配置的靜態目錄,如下
/static
/public
/resources
/META-INF/resources
例如 resources建立一個static目錄和index.htm靜態文件,訪問地址 http://localhost:8082/index.html
如果需要使用templates,thyleaf模版,首先Spring boot項目需要添加依賴,這樣才能找到templates下面的*.html文件
1
2
3
4
|
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> |
例如:
這樣就可以使用:localhost:8082/crawler/here來訪問這個aaa.html文件了。
端口8082是因為在application.properties文件里面設置server.port=8082,一般tomcat默認的端口是8080
總結
到此這篇關于淺析SpringBoot中使用thymeleaf找不到.HTML文件的原因的文章就介紹到這了,更多相關springboot使用thymeleaf找不到.HTML文件內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/weixin_45058795/article/details/106429865