Thymeleaf

Thymeleaf

Thymeleaf是一种类似于JSP的动态网页技术

1.Thymeleaf简介

  • JSP必须依赖Tomcat运行,不能直接运行在浏览器中。即idea中打开jsp页面就会错误
  • HTML可以直接运行在浏览器中,但是不能接受控制器传递的数据(不能jstl+el展示数据)
  • Thymeleaf是一种既保留了HTML的后缀能直接在浏览器运行的能力、又实现了JSP显示动态数据的功能----静能查看页面状态、动能显示数据

2.Thymeleaf的使用

SpringBoot应用能对Thymeleaf提供良好支持

项目为springboot-ssm。

2.1 添加Thymeleaf的依赖组starter

创建项目时,也可以直接添加依赖组

<dependency>
	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2.2 创建Thymeleaf模板

Thymeleaf模板就是HTML文件

  • SpringBoot应用中,resources\templates目录就是用来存放页面模板的
  • 重要说明:
    • static目录下的资源被定义静态资源,SpringBoot应用默认放行
      如果将HTML页面创建static目录是可以直接访问的
    • templates目录下的文件被定义为动态网页模板,SpringBoot应用会拦截templates中的资源;
      如果将HTML页面创建在templates目录,则必须通过控制器访问跳转
  • 在templates创建HTML页面模板
  • 创建PageController,用于转发允许"直接访问"的页面请求
@Controller
@RequestMapping("/yty")
public class PageController {
    @RequestMapping("/test1.html")
    public String test1(){
        return "test1";
    }
}

访问的时候,就是“localhost端口号/yty/test1.html”。单从路径看,感觉test1.html页面是被直接访问的,其实那是因为我的controller名是test.html,这也是为什么上面”直接访问“打引号的原因。

2.3 Thymeleaf基本语法

如果要在Thymeleaf模板中获取从控制器传递的数据,需要使用th标签

2.3.1 在Thymeleaf模板页面引入th标签的命名空间

在这里插入图片描述

2.3.2 th:text

在几乎所有的HTML双标签都可以使用th:text属性,将接收到的数据显示在标签的内容中

<lable th:text="${price}"></lable>
<div th:text="${str}"></div>
<p th:text="${book.bookName}"></p>
2.3.3 th:inline内联
  • HTML内联
    在这里插入图片描述
  • CSS内联
    在这里插入图片描述
  • JavaScript内联
    在这里插入图片描述
2.3.4 th:object和*

在这里插入图片描述

2.4 流程控制

2.4.1 th:each循环

在这里插入图片描述

2.4.2 分支
  • th:if 如果条件不成立,则不显示此标签
    在这里插入图片描述
  • th:switch 和 th:case
    在这里插入图片描述

2.5 碎片使用

2.5.1 碎片的概念

碎片,就是HTML片段,可以将多个页面使用相同的HTML标签部分单独定义,然后通过th:include可以在HTML中引入定义的碎片。

(可以理解成全局变量和局部变量,但是本质上又有区别)
在这里插入图片描述

2.5.2 碎片使用案例
  • 定义碎片 th:fragment
    在这里插入图片描述
  • 引用碎片 th:include和th:replace
    a.html
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

11_1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值