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