栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Thymeleaf简单运用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Thymeleaf简单运用

Thymeleaf 模版
      • 认识 Thymeleaf
      • 表达式
      • 标准变量表达式
      • 选择变量表达式
      • 链接表达式(URL表达式)
      • Thymeleaf属性

认识 Thymeleaf

​ Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发

模板引擎是一个技术名词,是跨领域跨平台的概念,在 Java 语言体系下有模板引擎,在

C#、PHP 语言体系下也有模板引擎,甚至在 JavaScript 中也会用到模板引擎技术,Java 生态下

的模板引擎有 Thymeleaf 、Freemaker、Velocity、Beetl(国产) 等。

Thymeleaf 对网络环境不存在严格的要求,既能用于 Web 环境下,也能用于非 Web 环境

下。在非 Web 环境下,他能直接显示模板上的静态数据;在 Web 环境下,它能像 Jsp 一样从

后台接收数据并替换掉模板上的静态数据。它是基于 HTML 的,以 HTML 标签为载体,

Thymeleaf 要寄托在 HTML 标签下实现。

​ Spring Boot 集成了 Thymeleaf 模板技术,并且 Spring Boot 官方也推荐使用 Thymeleaf 来

替代 JSP 技术,Thymeleaf 是另外的一种模板技术,它本身并不属于 Spring Boot,Spring Boot

只是很好地集成这种模板技术,作为前端页面的数据展示,在过去的 Java Web 开发中,我们

往往会选择使用 Jsp 去完成页面的动态渲染,但是 jsp 需要翻译编译运行,效率低

Thymeleaf 的官方网站:http://www.thymeleaf.org

Thymeleaf 官方手册:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

表达式

表达式是在页面获取数据的一种 thymeleaf 语法。类似 ${key}

标准变量表达式

注意:th:text=“” 是 Thymeleaf 的一个属性,用于文本的显示

语法: ${key}

说明:标准变量表达式用于访问容器(tomcat)上下文环境中的变量,功能和 EL 中的 ${} 相

同。Thymeleaf 中的变量表达式使用 ${变量名} 的方式获取 Controller 中 model 其中的数据。

也就是 request 作用域中的数据。

1.创建SysUser类

package com.liu.bean;

public class SysUser {
    private Integer id;
    private String name;
    private Integer age;

    public SysUser() {
    }

    public SysUser(Integer id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "SysUser{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", age=" + age +
                '}';
    }
}

2.Controller添加方法

@Controller
@RequestMapping("/thy")
public class ThynleafController {
	GetMapping("/expression")
    public String expression(Model model){
//        添加简单类型的数据
        model.addAttribute("site","www.bjpowernode.com");
//        对象类型
        model.addAttribute("myUser",new SysUser(1001,"王世超",20));
        return "01-express";
    }
}

3.创建模版文件 01-expression




    
    标准网站


    

标准表达式 ${key}

xxx网站

选择变量表达式

语法:*{key}

说明:需要配和 th:object 一起使用。选择变量表达式,也叫星号变量表达式,使用 th:object 属

性来绑定对象,选择表达式首先使用 th:object 来绑定后台传来的对象,然后使用 * 来代表这

个对象,后面 {} 中的值是此对象中的属性。

选择变量表达式 *{…} 是另一种类似于标准变量表达式 ${…} 表示变量的方法

选择变量表达式在执行时是在选择的对象上求解,而${…}是在上下文的变量 model 上求解

1.Controller添加方法

@GetMapping("/expression1")
    public String expression1(Model model){
//        添加简单类型的数据
        model.addAttribute("site","www.bjpowernode.com");
//        对象类型
        model.addAttribute("myUser",new SysUser(1002,"潘天硕",20));
        return "02-express";
    }

2.创建模版文件 02-expression2




    
    Title


    

学习选择表达式

链接表达式(URL表达式)
语法:@{链接 url}

说明:主要用于链接、地址的展示,可用于**