springboot开发之thymeleaf模板引擎
时间:2022-07-23
本文章向大家介绍springboot开发之thymeleaf模板引擎,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、引入thymeleaf
在pom.xml中写入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、thymeleaf语法
HelloController.java
package com.gong.springbootcurd.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
@Controller
public class HelloController {
@RequestMapping("/login")
public String success(Map<String,Object> map){
map.put("hello","你好");
return "success";
}
}
thymeleaf会默认访问classpath:/templates/下的html文件,因此发送/login请求时会返回/templates/success.html
success.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h4>success page</h4>
<div th:text="${hello}">
</div>
</body>
</html>
(1)th:任意html属性;来替换原来属性的值
比如说th:id="
(2)th中的属性是有优先级的
th后面可以接:片段包含、遍历、条件判断、声明变量、属性修改、修改指定属性默认值、修改标签体内容、声明片段等等的属性。
(3)表达式语法
${...}:用于获取变量值(不仅可以获取对象的属性,还可以调用方法、使用内置的基本对象、使用工具对象)
*{...}:选择表达式(和${...}基本功能一致),可以配合th:object使用,简化写法
#{...}:用于获取国际化内容的
@{...}:定义url链接的
~{...}:片段引用表达式
表达式里面可以使用:字面量、文本操作、数学运算、布尔运算、比较运算、条件运算、三元运算符
简略看看其中的一些:
HelloController.java
package com.gong.springbootcurd.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Arrays;
import java.util.Map;
@Controller
public class HelloController {
@RequestMapping("/login")
public String success(Map<String,Object> map){
map.put("hello","<h1>你好<h1>");
map.put("users", Arrays.asList("张三","李四","王五"));
return "success";
}
}
success.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h4>success page</h4>
<div th:text="${hello}"></div>
<div th:utext="${hello}"></div>
<h4 th:text="${user}" th:each="user:${users}"></h4>
<hr/>
<h4>
<span th:each="user:${users}">[[${user}]]</span>
</h4>
</body>
</html>
说明:
th:text:会转义特殊字符
th:utext:不会转义特殊字符
th:each写在h4标签中,每次遍历都会生成一个h4标签。
th:each写在h4标签下的span标签中,每次遍历生成一个span标签。
在文中中获取变量的值要加上两个方括号:[[]]
运行之后查看效果:
- 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 文档注释
- JSP 开发环境搭建与项目运行(二)
- Activity启动时生命周期汇总
- 「程序员」Flutter:从网络获取数据遇到的坑
- 程序员:拿到新电脑如何配置Git环境
- What?数据量巨大还不分库分表?JDBC 入门与项目实战
- 简书:如何去掉图片下面烦人的“图片发自简书App”
- 命令行shell复制并以当前时间重命名文件夹
- 如何获取PHP命令行参数
- 学习PHP弱引用的知识
- 「okhttp」Gradle引用改jar包引用(一波三折)
- 「问答」解决CSV文件用Excel打开乱码问题
- 「问答」解决jar包运行时相对路径问题
- 「Eclipse」生成能用命令行运行的jar包
- 「AndroidStudio」fastjson导包报错:Could not resolve com.alibaba:fastjson:1.1.56.android
- 「Android」通过注解自动生成类文件:APT实战(AbstractProcessor)