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---基础知识相关推荐

  1. 2021 版 Spring Boot 基础知识复习手册(2w字,建议收藏)

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客: ...

  2. 模板引擎Freemarker基础知识

    Freemarker基础知识 Freemarker是什么 FreeMarker 基础指令 List指令 遍历Map数据 if指令 其它指令 运算符 空值处理 内建函数 入门Demo 要导入的依赖 配置 ...

  3. 嵌入式Linux的OTA更新,基础知识和实现

    嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...

  4. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  5. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  6. 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...

    <计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...

  7. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  8. python常用变量名_python基础知识整理

    Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...

  9. 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf

    <计算机基础知识>实验教学改革探讨.pdf Science& TechnologyVision 科 技 视 界 科技 探·索·争鸣 计<算机基础知识>实验教学改革探讨 ...

  10. python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)

    前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...

最新文章

  1. 线程编程常见API简介(中)
  2. albian开发笔记二
  3. RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o
  4. symbian 视频播放解决方案
  5. Quartz框架基于Calendar的排除规则
  6. python中的文件备份过程
  7. php实现git服务器,如何搭建和配置Git服务器
  8. java反射技术_java反射技术,逆向开发必备技能
  9. Mysql学习总结(42)——MySql常用脚本大全
  10. 05mycat父子表
  11. Makefile万能写法(gcc程序以及arm-linux-gcc程序)-转
  12. ParallelActivity
  13. 为了面试阿里大数据岗位,我花了半年总结了这些干货内容
  14. 汽车系统英文缩写大全,值得收藏
  15. Spring Boot配置文件yml格式详解
  16. 在家自学html,怎样在家自学英语口语
  17. 陪玩行业怎么找客户?想做线上引流?这篇文章打开你的思路!
  18. 【目标检测】11、Region Proposal by Guided Anchoring
  19. 软件测试缺陷指标,如何对缺陷进行分析,都分析哪些指标?
  20. ROS的 sudo rosdep init 的报错终极解决方案

热门文章

  1. 荣耀magic5和magic5pro区别 荣耀magic5和magic5pro参数对比
  2. 成功的项目经理5大关键能力
  3. scrapy框架初识1
  4. 复现PTA人事机考照片审核的功能
  5. 微信小程序+SpringBoot实现用户登录
  6. 会议平板同质化,行业领航者MAXHUB如何打破僵局?
  7. 功能测试数据测试之边界值测试方法
  8. 并发编程之Exchanger原理与使用
  9. 前锋php人工智能_php人工智能@人工智能高考机器人
  10. 灯具灼热丝测试依据标准和要求