一.【使用】
是JAVA开发的模板技术,在服务器端运行,把处理后的数据发送给浏览器,模板是在视图层工作,显示数据
Thymeleaf是基于html语言,以Html标签为载体,官方推荐使用Thymeleat来替代JSP技术
二.【实例1】
<body> <h3 th:text="${data}">显示数据</h3> </body>
在Controller层里在Model里面以data为键的键值对存了数据,所以在页面里面获取,同时这个Thymeleaf的语法意思是通过读取data的文本然后替换标签包裹的原有文本
优点:这个模板是独立的,前后端是分离的,即不经过Thymeleaf加工,直接显示的就是HTML页面原有的数据,经过加工就会被Thymeleaf加工处理,可能会替换掉部分数据
良好状态使用Thymeleaf的话就需要在HTML的html标签里面加上Thymeleaf约束 <html lang="en" xmlns:th="http://www.thymeleaf.org">
三.【分析Model对象&request对象】
Model对象其实就放在request作用域当中所以一样使用
《就例》
前提(模板引擎的起步依赖)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
1.Controller层
package com.wuhao.ext.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @Controller public class HelloController { @RequestMapping("/hello") public String say(HttpServletRequest request, Model model){ request.setAttribute("data","你真以为你是个人?"); model.addAttribute("date","你真以为我好欺负!"); return "hello"; } }
2.HTML页面
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>欢迎</title> </head> <body> <h3 th:text="${data}">welcom</h3> <h3 th:text="${date}">welcom</h3> </body> </html>
3.测试结果
4.由上观之可以发现,两种方式都可以存数据并且在页面都能获取到,但在提示里面request会爆红提示,所以如果想干净一点就使用Model
四.【测试阶段,不希望走模板缓存】
关闭即可,便于开发阶段不断的刷新页面的数据(在properties配置文件中使用)
spring.thymeleaf.cache=false #编码格式 spring.thymeleaf.encoding=utf-8 #模板前缀,类路径下,即可以修改我们默认的前缀 spring.thymeleaf.prefix=classpath:/templates/ #后缀 spring.thymeleaf.suffix=.html
由前缀+逻辑名称( return "hello";)+后缀 构成视图解析器所搭建成的一个完整的请求路径(请求转发,页面跳转)