当前位置: 首页 > article >正文

SpringBoot基础系列学习(四):Thymeleaf模板

文章目录

  • 一丶什么是模板引擎
  • 二丶Thymeleaf 介绍
  • 三丶使用
    • 引入依赖
    • 代码
    • html
    • 页面响应

一丶什么是模板引擎

模板引擎是一种将数据和模板结合起来生成最终结果的工具,它将一个模板和一个数据对象作为输入,通过模板解析和渲染生成最终的结果。通俗地说,模板引擎就是用来生成 HTML 等标记的工具。
比如
我想买裙子,这时候我会打开某宝,直接在搜索框输入“裙子”,就会出现跟裙子相关的一系列商品,各种颜色,各种样式。那我们来想一下,这么多商品的各种信息是直接全部写死在页面上的嘛?那我们每次查找的商品都不一样,需要的内存就太大了
很显然,并不是,所以这里就体现了我们模板引擎的作用,它可以根据从数据库中实时提取出来的数据对html页面实时的渲染,这,就是模板引擎。

二丶Thymeleaf 介绍

Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。

特点

  • 支持无网络环境下运行,由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。所以它可以让前端小姐姐在浏览器中查看页面的静态效果,又可以让程序员小哥哥在服务端查看带数据的动态页面效果。
  • 开箱即用,为Spring提供方言,可直接套用模板实现JSTL、 OGNL表达式效果,避免每天因套用模板而修改JSTL、 OGNL标签的困扰。同时开发人员可以扩展自定义的方言。
  • SpringBoot官方推荐模板,提供了可选集成模块(spring-boot-starter-thymeleaf),可以快速的实现表单绑定、属性编辑器、国际化等功能。

三丶使用

引入依赖

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

代码

  import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;


/**
 * @author Administrator
 */
@Controller
public class ThymeleafController {

    @GetMapping("/index")
    public ModelAndView index() {
        ModelAndView view = new ModelAndView();
        view.setViewName("index");
        // 设置属性
        view.addObject("title", "我的第一个WEB页面");
        view.addObject("name","白菜治");
        view.addObject("age","33");
        return view;
    }
}
    

html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title th:text="${title}">Thymeleaf语法练习</title>
</head>
<body>
<h1 th:text="'Hello, ' + ${name} + '!'"></h1>
<p th:text="'今年, ' + ${age} + '!'"></p>
</body>
</html>

页面响应

在这里插入图片描述


http://www.kler.cn/a/389335.html

相关文章:

  • sql server 查看io资源使用
  • 【pytorch】常用强化学习算法实现(持续更新)
  • ArcGIS Pro属性表乱码与字段名3个汉字解决方案大总结
  • 如何在Puppeteer中实现表单自动填写与提交:问卷调查
  • ISAAC SIM踩坑记录--ubuntu 22.04操作系统安装
  • RoseTTAFold MSA_emb类解读
  • Django中间件应该怎么使用
  • 把握鸿蒙生态崛起的机遇:开发者视角的探讨
  • Linux 共享内存
  • 戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
  • 服务器被病毒入侵如何彻底清除?
  • Intern大模型训练营(四):使用Hugging Face下载模型
  • RoseTTAFold PositionalEncoding类解读
  • (C++11)委托构造函数--C++
  • 如何在Oracle应用中使用BI PUBLISHER API将RTF转换为XSL-FO
  • XGBoost算法Python代码实现
  • Iceberg 写入和更新模式,COW,MOR(Copy-on-Write,Merge-on-Read)
  • sqli-labs(第二关)
  • ThinkBook 14+ 2024 Ubuntu 触控板失效 驱动缺失问题解决
  • 腾讯自研的 Git 客户端!!【送源码】
  • vue3中使用输入框按回车键刷新页面问题
  • 零拷贝Zero Copy
  • RabbitMQ的应用
  • 【STK学习】part1-卫星轨道与Walker星座基础知识
  • 《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1)
  • 信息泄露漏洞一文速通