SpringBoot中web开发-thymeleaf模板引擎的使用
Posted XiaoMaGuai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot中web开发-thymeleaf模板引擎的使用相关的知识,希望对你有一定的参考价值。
1.要使用thymeleaf模板引擎,首先要再pom中引入thymeleaf依赖文件
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2.thymeleaf的简单使用
(1)只要将html文件放在resources/templates文件夹下,thymeleaf模板引擎就会将页面自动渲染
例:再template文件夹下创建一个success.html文件,然后通过localhost:8080/success请求,浏览器展现success.html文件中的内容。
①:resources/templates文件夹下创建success.html页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>成功</h1> </body> </html>
②:在Controller层创建HelloController类,然后在类里边创建请求映射
package com.xiaoma.springbootweb.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping("/success") public String success(){ return "success"; } }
③:运行程序,测试结果。
3.thymeleaf语法-th语法
(1)th:text:设置当前元素的文本内容,相同功能的还有th:utext,两者的区别在于前者不会转义html标签,后者会转义html标签。
例:将HelloController类中的success方法改为
@RequestMapping("/success") public String success(Map<String,Object> maps){ maps.put("hello","你好"); return "success"; }
将success.html文件中body里的内容改为(注意:使用thymeleaf的时候要在html页面的html标签中引入命名空间xmlns:th="http://www.thymeleaf.org")
<body> <h1>成功</h1> <div th:text="${hello}">张三</div> </body>
运行结果为,从结果可以看出,当使用模板引擎的时候,页面展现的数据是我们绑定的map中的数据,而不会展示html页面中想要展示的数据,如果将页面复制到其他地方单独运行的话,就会将“张三”展示出来,而不会展示我们绑定的“你好”这个数据了。这就是th:text的用法。
3.th:each : 遍历循环元素,和th:text或th:value一起使用。注意该属性修饰的标签位置。
4.th:if : 条件判断,类似的还有th:unless,th:switch,th:case。
5.th:insert : 代码块引入,类似的还有th:replace,th:include,三者区别很大,若使用不恰当会破坏html结构,常用于公共代码块的提取复用。
6.th:fragment : 定义代码块,方便被th:insert引用。
7.th:object : 声明变量,一般和*{}一起配合使用。这些东西的具体使用会在后面做crud实验的时候详细说明。
${...}
@{...}:定义URL链接的
#{...}:用来获取国际化内容的
~{...}
以上是关于SpringBoot中web开发-thymeleaf模板引擎的使用的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot入门篇--Thymeleaf引擎模板的基本使用方法