Springboot 整合 Thymeleaf
时间:2021-07-21
本文章向大家介绍Springboot 整合 Thymeleaf,主要包括Springboot 整合 Thymeleaf使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
目录
Springboot 整合 Thymeleaf
1.什么是Thymeleaf
Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎。相较与其他的模板引擎,它有一个最大的特点是,它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服 务器查看带数据的动态页面效果。 这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板 +数据的展示方式。
<a th:text="${url}">百度</a>
浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以 静态地运行; 当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。
2.快速开始
1)引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2)配置Thymeleaf模版参数
spring:
thymeleaf:
cache: false
3)创建模版文件 hello.html
文件存放的位置:resource/templates
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"></meta>
<title>Insert title here</title>
</head>
<body>Welcome <span th:text="${uname}">Admin</span>! </body>
</html>
接口设置
@Controller
public class UserController {
@RequestMapping("/userlist")
public String userList(Model model){
User user1 = new User();
user1.setUname("小李");
user1.setUid(1L);
user1.setAge(20);
user1.setEntryDate(new Date());
User user2 = new User();
user2.setUname("小王");
user2.setUid(2L);
user2.setAge(21);
user2.setEntryDate(new Date());
User user3 = new User();
user3.setUname("小赵");
user3.setUid(3L);
user3.setAge(22);
user3.setEntryDate(new Date());
List<User> users = new ArrayList<>();
users.add(user1);
users.add(user2);
users.add(user3);
model.addAttribute("users",users);
// model.addAttribute("user",user);
return "userlist";
}
@RequestMapping("/hello")
public String hello(Model model){
model.addAttribute("uname","小明");
return "hello";
}
}
3.Thymeleaf中的小技巧
1)字符串
欢迎:<span th:text="${username}"></span><br/>
欢迎:<span th:text="超级VIP+${username}"></span><br/>
欢迎:<span th:text="|超级VIP,${username}|"></span><br/>
2)条件判断
# 条件为真,则显示所处的年龄段
<span th:if="${age > 18}">老腊肉</span>
<span th:if="${age <= 18}">小鲜肉</span>
# 条件不为真,则显示
<span th:unless="${age>18}" th:text="未超过18岁"></span>
3)三元运算符
<span th:text="${age>18 ? '不年轻了':'too yong'}"></span>
4)循环
<table>
<tr>
<td>id</td>
<td>姓名</td>
</tr>
<tr th:each="stu : ${stus}">
<td th:text="${stu.id}">id</td>
<td th:text="${stu.name}">姓名</td>
</tr>
</table>
5)日期格式化
<input th:value="${#dates.format(now,'yyyy-MM-dd HH:mm:ss')}"/>
原文地址:https://www.cnblogs.com/qxlzzj/p/15039301.html
- dataguard中需要注意的一些数据文件操作(r8笔记第21天)
- 42. select 的默认分支 | 厚土Go学习笔记
- 执行计划变化导致CPU负载高的问题分析 (r8笔记第20天)
- 数据结构基础(2) --顺序查找 ; 二分查找
- 数据结构基础(1) --Swap ; Bubble-Sort ; Select-Sort
- 使用 Go 语言完成 HTTP 文件上传与下载
- 运维平台的建设思考-元数据管理(四)(r8笔记第16天)
- JavaWeb21-基础加强(注解;代理;类加载器;泛型反射
- MySQL迁移文件的小问题(r8笔记第18天)
- SpringMVC学习第一天
- 最近的几个技术问题总结和答疑 (r8笔记第19天)
- Hibernate_day04总结
- Hibernate_day03总结
- 服务器进程异常的原因分析(第二篇)(r8笔记第16天)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 《sql必知必会》——读书笔记(2)
- 2.通过QOpenGLWidget绘制三角形
- 树莓派基础实验16:霍尔传感器实验
- 1.opengl绘制三角形
- dubbo本地直连调试注意点
- Tomcat的使用及服务器的一些基础知识
- fastJson 之JSONObject.toJavaObject()方法不能解析嵌套自定义list对象
- 文件包含漏洞学习总结(结尾有实例)
- 树莓派基础实验17:温度传感器实验
- Java Servlet详解(体系结构+注解配置+生命周期)
- RabbitMq如何确保消息不丢失
- 《sql必知必会》——读书笔记(4)
- AkShare-债券数据-国债期货可交割券相关指标
- Linux From Scratch
- 介绍一款 API 敏捷开发工具