前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot引入Thymeleaf

SpringBoot引入Thymeleaf

作者头像
Bobby
发布2019-04-09 18:29:54
1.6K0
发布2019-04-09 18:29:54
举报
文章被收录于专栏:开心码农开心码农
本文标题:SpringBoot引入Thymeleaf
原始链接: https://shuibo.cn/03-spring-boot-thymeleaf.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

1.Thymeleaf简介

Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用   Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模,Thymeleaf的可扩展性也非常棒。你可以使用它定义自己的模板属性集合,这样就可以计算自定义表达式并使用自定义逻辑,Thymeleaf还可以作为模板引擎框架。

2.引入Thymeleaf

  1. 引入依赖 在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>
  1. 配置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
# 上面的配置实际上就是注入该类的属性值
  1. 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}">绝对路径</a> 是访问绝对路径下的URL, <a th:href="@{/}">相对路径</a> 是访问相对路径下的URL。
<a th:href="@{css/bootstrap.min.css}">是引入默认的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} &gt; 1"
th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')"

6.条件    if/unless th:if是该标签在满足条件的时候才会显示,unless是不成立时候才显示

<a th:href="@{/login}" 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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文标题:SpringBoot引入Thymeleaf
  • 原始链接: https://shuibo.cn/03-spring-boot-thymeleaf.html
  • 1.Thymeleaf简介
  • 2.引入Thymeleaf
  • 3.测试结果
  • 4.Thymeleaf基础语法及使用
  • 5.小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档