在使用springBoot的时候一般用templates的包来放置静态资源,对于这个包来说它很特殊,这个包它需要导入thymeleaf的依赖才可以用它来和前后端做交互,下面将介绍一下它的使用方法:
导入thymeleaf依赖:

   <!-- thymeleaf模板引擎 我们都是基于3.x开发--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

然后就写controller和它交互吧,切记要把html文件放到resources下的templates包下。


对了,对于thymeleaf环境还可以在创建springBoot文件的时候就勾上

下面就是关于thymeleaf语法的一些梳理------>
关于thymeleaf传值和html交互的时候需要在导入th,下面代码介绍了遍历一级将标签连着数据一起显示的方法等等

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<!--所有的html元素都可以被thymeleaf替换接管:  th:元素名-->
<div th:text="${msg}+小姜"+></div>
<!--将标签也一起显示出来-->
<div th:utext="${msg}+小姜"+></div>
<hr>
<!--遍历-->
<!--<h3 th:each="user:${users}" th:text="${user}"></h3>-->
<h3 th:each="user:${users}">[[${user}]]</h3>
</body>
</html>

controller的代码

package cn.com.zzn;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Arrays;//在templates目录下的所有页面,只能通过controller来跳转!
//这个需要模板引擎支持!   thymeleaf@Controller
public class IndexController {@RequestMapping("/test")public String index(Model model){model.addAttribute("msg","<h1>你好</h1>");model.addAttribute("users", Arrays.asList("zzn","zznshuojava"));return "test";}
}
关于学习总结在写一波:一:分析源码找springBoot的自动配置
二:通过webjars去找文件所在的位置,比如找jquery的文件位置,还可以通过浏览
器看 http://localhost:8080/webjars/jquery/3.5.1/jquery.js注意导入依赖之后重启项目
三:springBoot2.5.0版本的classpath:/META-INF/等的其它四个这种类型的字符串数组一级继承在父类的WebProperties里面了
四:注意点 运行时要把application里的东西注释掉否则报错
五:资源优先级   resources>static(默认)>public   一般在public放一些公共资源
切记如果在application.properties中放了#spring.mvc.static-path-pattern=路径名  那么这些静态资源就无效了就访问不到了,就报错误页六:总结 在springBoot中我们可以用以下方式处理静态资源1.webjars  需要用localhost:8080/webjars/2. public,static,/**,resources,   这三种直接映射到 localhost:8080/

这一节讲了首页和图标的问题
1.首页必须放到resources下的public或者resources包或者static下的包否则都访问不到,也可以放到template包下通过controller来访问,但是这个包需要配置模板引擎
2.就是图标了,新版本没有favicon.ico的配置信息,新版本需要到静态资源可以访问的三个包下,以前的老板本是可以直接放到根的resources下.总结:看这些自动配置最好多看源码信息多看源码关于thymeleaf模板引擎的学习
它的字都给配置类是ThymeleafProperties,切记你要导入一个类它一点存在一个properties
结论:只需要使用thymeleaf 只需要导入对应的依赖就可以了!我们将html放在我们的templates目录下
public static final String DEFAULT_PREFIX = "classpath:/templates/";public static final String DEFAULT_SUFFIX = ".html";后端给前端传值的话,需要使用thymeleaf给html页面上添加<html lang="en" xmlns:th="http://www.thymeleaf.org">
然后通过th:元素名+后端的属性名

关于thymeleaf配置语法运用 以及 静态资源问题总结 2021-06-08相关推荐

  1. thymeleaf随机数_SpringBoot2.0实现静态资源版本控制

    写在最前面 犹记毕业第一年时,公司每次发布完成后,都会在一个群里通知[版本更新,各部门清理缓存,有问题及时反馈]之类的话.归根结底就是资源缓存的问题,浏览器会将请求到的静态资源,如JS.CSS等文件缓 ...

  2. SpringMVC在web.xml中配置DispatcherServlet拦截了静态资源访问

    如图 在web.xml中配置DispatcherServlet时对于url-pattern的配置方式有以下几种情况: 1.配置为: *.do 或者是 *.action 时,拦截以.do或者.actio ...

  3. 解决springBoot配置拦截器拦截静态资源问题(亲测有效)

    首先这些是我的静态资源 在resources/static下 SpringBoot自定义MvcConfig现在是需要继承WebMvcConfigurer(官方推荐) 所以在继承了这个接口的类中 实现a ...

  4. thymeleaf引用图片_SpringBoot访问静态资源(图片、html)以及整合thymeleaf 注意点

    static和templates 是springboot默认创建的文件夹,static中放静态页面,而templates中放动态页面 存放在static目录下,浏览器可以直接访问 http://loc ...

  5. 六十五、SpringBoot配置拦截器拦截静态资源和区域解析器实现登陆功能

    @Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 本次到了SpringBo ...

  6. Nginx静态资源优化配置之sendfile

    静态资源优化配置语法 Nginx对静态资源如何进行优化配置.这里从三个属性配置进行优化: sendfile on; tcp_nopush on; tcp_nodeplay on; (1)sendfile ...

  7. 04-nginx静态资源部署实战

    一.Nginx进阶篇 1.Nginx服务器基础配置实例 前面我们已经对Nginx服务器默认配置文件的结构和涉及的基本指令做了详细的阐述.通过这些指令的合理配置,我们就可以让一台Nginx服务器正常工作 ...

  8. Nginx静态资源部署

    目录 Nginx静态资源概述 Nginx静态资源的配置指令 listen指令 server_name指令 location指令 设置请求资源的目录root / alias index指令 error_ ...

  9. Nginx静态资源优化配置之tcp_nopush和tcp_nodelay

    (2)tcp_nopush:该指令必须在sendfile打开的状态下才会生效,主要是用来提升网络包的传输'效率' 语法 tcp_nopush on|off; 默认值 tcp_nopush off; 位置 ...

最新文章

  1. 网站服务器的解决方案有,Web网站服务器DDOS攻击的解决方案
  2. flex基于svn协同开发
  3. SpringAop @Pointcut(“@annotation“)\@Aspect练习
  4. Python笔记-方差分析之单因素方差分析
  5. PPTV Docker集群的网络方案选型
  6. 写给小白的自然语言处理入门简介
  7. Vue 项目结构介绍
  8. 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的微信小程序便利店购物系统
  9. sqlite3常用技巧
  10. 《高频交易》读书笔记
  11. mysql 查询之聚合查询
  12. 黄聪:JQUERY的datatables插件,Date range filter时间段筛选功能
  13. 【算法学习笔记】81.动态规划 分类讨论 SJTU OJ 1075 括号匹配升级
  14. pip慢?半分钟解决方案
  15. 千千静听 dfx 音效插件_专业团队的蝰蛇音效,好听就是好软件
  16. ubuntu安装nat123
  17. 穿越“宽带接入”的迷雾 :WAN接入关键技术详解(以及 cisco 路由器产品基础知识)...
  18. 转载:手机银行技术讨论3
  19. 关于日期插件在chrome中出现被遮挡的问题
  20. 保险丝的作用,参数及选型应用,你真的懂了吗——电子元器件篇

热门文章

  1. PNG免扣+高清背景素材,帮电商美工\设计师快速出稿!
  2. 智能贴图样机素材在手,海报逼格马上就有!
  3. zlib-1.2.11手册
  4. C++异常处理(一) - iStack
  5. 依赖注入的三种方式_Spring IoC是如何进行依赖注入的
  6. Python:程序设计方法学、体育竞技分析
  7. 怎么看曲线有没有斜渐近线_?成考结束后,怎么看你有没有被录取?
  8. jsx怎么往js里传参数_给js文件传参数(详解)
  9. c语言学习-有一12个元素的整型数组b,从键盘输入数据,请以每行4个数据各个数据之间空两格的形式输出b数组的12个元素
  10. Unity2018新功能抢鲜 | ShaderGraph入门教程