1.Thymeleaf简介
Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用
Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模,Thymeleaf的可扩展性也非常棒。你可以使用它定义自己的模板属性集合,这样就可以计算自定义表达式并使用自定义逻辑,Thymeleaf还可以作为模板引擎框架。
2.引入Thymeleaf
引入依赖
在maven(pom.xml)中直接引入:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
配置Thymeleaf
在application.yml配置Thymeleaf
server: port: 8000 spring: thymeleaf: cache: false # 关闭页面缓存 encoding: UTF-8 # 模板编码 prefix: classpath:/templates/ # 页面映射路径 suffix: .html # 试图后的后缀 mode: HTML5 # 模板模式 # 其他具体配置可参考org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties # 上面的配置实际上就是注入该类的属性值
demo示例
创建IndexController
@Controller public class IndexController { // 返回视图页面 @RequestMapping("index") public String index(){ return "index"; } }
创建index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> Hello Thymeleaf! </body> </html>
创建TestController
@RestController public class TestController { // 返回整个页面 @RequestMapping("/test") public ModelAndView test(){ return new ModelAndView("test"); } }
创建test.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> Hello Thymeleaf! </br> By: ModelAndView </body> </html>
3.测试结果
4.Thymeleaf基础语法及使用
1.引入标签
html标签里引入xmlns:th="http://www.thymeleaf.org"才能使用th:*这样的语法
2.引入URL
@{...}
例如:
<a th:href="@{http://www.baidu.com}" rel="external nofollow" >绝对路径</a> 是访问绝对路径下的URL, <a th:href="@{/}" rel="external nofollow" >相对路径</a> 是访问相对路径下的URL。
<a th:href="@{css/bootstrap.min.css}" rel="external nofollow" >是引入默认的static下的css文件夹下的bootstrap文件,类似的标签有: th:href 和 th:src
3.获取变量
通过${}取值,对于JavaBean的话,使用变量名.属性名获取
4.字符串替换
<span th:text="'Welcome to our application, ' + ${user.name} + '!'"></span>
或者
<span th:text="|Welcome to our application, ${user.name}!|"></span>
注意:|…|中只能包含变量表达式${…},不能包含其他常量、条件表达式等
5.运算符
在表达式中可以使用各类算术运算符
例如 (+, -, *, /, %)
例如:th:with="isEven=(${stat.number} % 1 == 0)"
逻辑运算符 (>, <, <=,>=,==,!=)
需要注意的是使用<,>的时候需要转义
th:if="${stat.number} > 1" th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')"
6.条件
if/unless th:if是该标签在满足条件的时候才会显示,unless是不成立时候才显示
<a th:href="@{/login}" rel="external nofollow" th:unless=${user.number != null}>Login</a>
switch thymeleaf支持switch结构,默认属性(default)用*表示
<div th:switch="${user.role}"> <p th:case="'admin'">User is an administrator</p> <p th:case="#{roles.manager}">User is a manager</p> <p th:case="*">User is some other thing</p> </div>
7.循环
<tr th:each="prod : ${prods}"> <td th:text="${prod.name}">Onions</td> <td th:text="${prod.price}">2.41</td> <td th:text="${prod.inStock}? #{true} : #{false}">yes</td> </tr>
8.Utilities
内置在Context中,可以直接通过#访问
#dates
#calendars
#numbers
#strings
arrays
lists
sets
maps
…
5.小结
本文讲述了如何在Spring Boot中引入模板引擎Thymeleaf以及Thymeleaf基础语法和实际使用
本文GitHub地址:https://github.com/ishuibo/SpringAll
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍springBoot加入thymeleaf模板的方式,包括了springBoot加入thymeleaf模板的方式的使用技巧和注意事项,需要的朋友参考一下 1.新建springBoot项目 在前面有两种方式 2.加入thymeleaf模板引擎 SpringBoot推荐使用thymeleaf模板引擎 语法简单,功能更强大 要想引入thymeleaf,只需要在pom,xml文件中加入如下依
本文向大家介绍SpringBoot thymeleaf的使用方法解析,包括了SpringBoot thymeleaf的使用方法解析的使用技巧和注意事项,需要的朋友参考一下 1.pom.xml添加相应依赖 2.application.properties 3.common.xml文件,注意文件路径 4.添加TemplateController.java 5.添加app.java 6.访问路径,完成
本文向大家介绍详解SpringBoot+Thymeleaf 基于HTML5的现代模板引擎,包括了详解SpringBoot+Thymeleaf 基于HTML5的现代模板引擎的使用技巧和注意事项,需要的朋友参考一下 序言: Thymeleaf 是Java服务端的模板引擎,与传统的JSP不同,前者可以使用浏览器直接打开,因为可以忽略掉拓展属性,相当于打开原生页面,给前端人员也带来一定的便利。如果你已经厌
本文向大家介绍springboot+thymeleaf 文件上传功能的实现代码,包括了springboot+thymeleaf 文件上传功能的实现代码的使用技巧和注意事项,需要的朋友参考一下 pom.xml application.yml index.html 文件上传页面 hello.html 上传成功的页面 controller: 文件上传 测试: 注:目前仅实现了文件的上传 计划补充:文件
本文向大家介绍SpringBoot整合liquibase的实现方法,包括了SpringBoot整合liquibase的实现方法的使用技巧和注意事项,需要的朋友参考一下 LiquiBase 是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种数据库类型无关的解决方案,通过执行schema类型的文件来达到
问题内容: 我的CSS和Thymeleaf有问题。 在我的Spring启动应用程序中,我具有以下结构: src / main / resource / static / css(用于CSS文件) src / main / resource / static / templates(用于html文件) 现在,使用我的Thymeleaf,将我的html页面命名为ErrorPage,将css文件命名为L