Thymeleaf---基础知识
Thymeleaf---基础知识
- 1. Thymeleaf 菜鸟教程
- 2. Thymeleaf
- 2.1 Thymeleaf简介
- 2.2 Thymeleaf的使用
- 2.3 Thymeleaf基本语法
- 2.3.1 在thymeleaf模板页面引⼊th标签的命名空间
- 2.3.2 th:text
- 2.3.3 th:inline 内联
- 2.3.4 th:object 和 *
- 2.4 流程控制
- 2.4.1 th:each 循环
- 2.4.2 分支
- 2.5 碎片使用
- 2.5.1 碎片的概念
- 2.5.2 碎片使用案例
1. Thymeleaf 菜鸟教程
https://www.cnblogs.com/jiangbei/p/8462294.html
2. Thymeleaf
2.1 Thymeleaf简介
Thymeleaf是⼀种类似于JSP的动态⽹⻚技术。JSP 必须依赖Tomcat运⾏,不能直接运⾏在浏览器中。
HTML可以直接运⾏在浏览器中,但是不能接收控制器传递的数据。
Thymeleaf是⼀种既保留了HTML的后缀能够直接在浏览器运⾏的能⼒、
⼜实现了JSP显示动态数据的功能——静能查看⻚⾯效果、动则可以显示数据。
2.2 Thymeleaf的使用
SpringBoot应⽤对Thymeleaf提供了良好的⽀持1 添加thymeleaf的starter<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2 创建Thymeleaf模板 Thymeleaf模板就是HTML⽂件.SpringBoot应⽤中 resources\templates ⽬录就是⽤来存放⻚⾯模板的.重点说明:1. static ⽬录下的资源被定义静态资源,SpringBoot应⽤默认放⾏;如果将HTML⻚⾯创建static⽬录是可以直接访问2. templates ⽬录下的⽂件会被定义为动态⽹⻚模板,SpringBoot应⽤会拦截templates中定义的资源;如果将HTML⽂件定义在templates⽬录,则必须通过控制器跳转访问。补充:在templates创建HTML⻚⾯模板创建PageController,⽤于转发允许"直接访问"的⻚⾯请求@Controller@RequestMapping("/page")public class PageController {@RequestMapping("/test.html")public String test(){return "test";}}
2.3 Thymeleaf基本语法
如果要在thymeleaf模板中获取从控制传递的数据,需要使⽤th标签
2.3.1 在thymeleaf模板页面引⼊th标签的命名空间
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body></body>
</html>
2.3.2 th:text
在⼏乎所有的HTML双标签都可以使⽤ th:text属性,将接收到的数据显示在标签的内容中
<label th:text="${price}"></label><div th:text="${str}"></div><p th:text="${book.bookName}"></p>
2.3.3 th:inline 内联
1. HTML内联<p th:inline="text">图书名称:[[${book.bookName}]]</p>2. CSS内联<style type="text/css" th:inline="css">.style1{color:[[${color}]]}</style>3. JavaScript内联<script type="css/javascript" th:inline="javascript"></script>
2.3.4 th:object 和 *
<div th:object="${book}"><p th:text="*{bookId}"></p><p th:text="*{bookName}"></p><p th:text="*{bookAuthor}"></p>
</div>
2.4 流程控制
2.4.1 th:each 循环
<table style="width: 600px" border="1" cellspacing="0"><caption>图书信息列表</caption><thead><tr><th>图书ID</th><th>图书名称</th><th>作者</th></tr></thead><tbody><tr th:each="b:${books}"><td th:text="${b.bookId}"></td><td th:text="${b.bookName}"></td><td th:text="${b.bookAuthor}"></td></tr></tbody>
</table>
2.4.2 分支
th:if 如果条件不成⽴,则不显示此标签<td th:if="${b.bookPrice}>40" style="color:red">太贵!!!</td>
<td th:unless="${b.bookPrice}>40" style="color:red">太贵!!!</td>
<td th:if="${b.bookPrice}<=40" style="color:green">推荐购买</td>
2.5 碎片使用
2.5.1 碎片的概念
碎⽚,就是HTML⽚段,我们可以将多个⻚⾯中使⽤的相同的HTML标签部分单独定义,
然后通过th:include可以在HTML⽹⻚中引⼊定义的碎⽚
2.5.2 碎片使用案例
1. 定义碎⽚ th:fragmentheader.html<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>Title</title></head><body><div th:fragment="fragment1" style="width: 100%; height: 80px;background: deepskyblue;
color:white; font-size: 25px; font-family:⽂鼎霹雳体">千锋武汉Java2010班,六六六!!!</div></body></html>
2. 引⽤碎⽚ th:include 和 th:replacea.html<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<!-- <div th:include="header::fragment1"></div>--><div th:replace="header::fragment1"></div><div style="width: 100%; height: 500px">定义内容</div>
<!-- <div th:include="footer::fragment2"></div>--><div th:replace="footer::fragment2"></div>
</body>
</html>
Thymeleaf---基础知识相关推荐
- 2021 版 Spring Boot 基础知识复习手册(2w字,建议收藏)
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客: ...
- 模板引擎Freemarker基础知识
Freemarker基础知识 Freemarker是什么 FreeMarker 基础指令 List指令 遍历Map数据 if指令 其它指令 运算符 空值处理 内建函数 入门Demo 要导入的依赖 配置 ...
- 嵌入式Linux的OTA更新,基础知识和实现
嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...
- 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记
计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...
- 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...
<计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- python常用变量名_python基础知识整理
Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...
- 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf
<计算机基础知识>实验教学改革探讨.pdf Science& TechnologyVision 科 技 视 界 科技 探·索·争鸣 计<算机基础知识>实验教学改革探讨 ...
- python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)
前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...
最新文章
- 线程编程常见API简介(中)
- albian开发笔记二
- RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o
- symbian 视频播放解决方案
- Quartz框架基于Calendar的排除规则
- python中的文件备份过程
- php实现git服务器,如何搭建和配置Git服务器
- java反射技术_java反射技术,逆向开发必备技能
- Mysql学习总结(42)——MySql常用脚本大全
- 05mycat父子表
- Makefile万能写法(gcc程序以及arm-linux-gcc程序)-转
- ParallelActivity
- 为了面试阿里大数据岗位,我花了半年总结了这些干货内容
- 汽车系统英文缩写大全,值得收藏
- Spring Boot配置文件yml格式详解
- 在家自学html,怎样在家自学英语口语
- 陪玩行业怎么找客户?想做线上引流?这篇文章打开你的思路!
- 【目标检测】11、Region Proposal by Guided Anchoring
- 软件测试缺陷指标,如何对缺陷进行分析,都分析哪些指标?
- ROS的 sudo rosdep init 的报错终极解决方案