java中的接口是类吗
694
2022-11-29
浅析SpringBoot中使用thymeleaf找不到.HTML文件的原因
thymeleaf是目前最新的模板引擎,它和springboot完美搭配,让前后端不在疏远
首先先介绍一下市面上出现过的模板引擎
1, Verlocity 距今有10多年之久,是由Apache推出的 Struts2 底层使用2,Freemarker,距今有10多年之久, 第三方小公EKaVSJbYW司推出,后来得到了Apache的认可,在Struts2这个框架中, 底层使用Freemarker. SpringBoot 默认使用Freemarker是以.ftl结尾的文件.
3,ThymEKaVSJbYWeleaf是以.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文件
例如:
这样就可以使用:localhost:8082/crawler/here来访问这个aaa.html文件了。
端口8082是因为在application.properties文件里面设置server.port=EKaVSJbYW8082,一般tomcat默认的端口是8080
总结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~