Spring Boot 3 集成 Thymeleaf

在现代的Web开发中,构建灵活、动态的用户界面是至关重要的。Spring Boot和Thymeleaf的结合为开发者提供了一种简单而强大的方式来创建动态的Web应用。本文将介绍如何在Spring Boot项目中集成Thymeleaf,并展示一些基本的使用方法。

themeleaf.jpg

什么是Thymeleaf?

Thymeleaf是一款用于Web和独立环境的现代化服务器端Java模板引擎。它能够处理HTML、XML、JavaScript、CSS甚至纯文本。Thymeleaf的语法简单易懂,它允许开发者在模板中嵌入表达式,以便动态地渲染数据。

官网地址:https://www.thymeleaf.org/

官方文档:https://www.thymeleaf.org/doc/tutorials/3.1/usingthymeleaf.html

github地址:https://github.com/thymeleaf

开始集成Thymeleaf

首先,确保你的Spring Boot项目已经建立。接下来,我们将添加Thymeleaf的依赖。在pom.xml文件中,添加以下依赖:

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

这将引入Spring Boot Thymeleaf Starter,它包含了Thymeleaf的所有必要依赖。

配置Thymeleaf

在Spring Boot应用中,Thymeleaf的默认配置通常已经足够满足大多数需求。然而,你也可以通过在application.properties或application.yml文件中进行配置来修改默认设置。以下是一个基本的Thymeleaf配置示例:

spring:# 配置thymeleaf的相关信息thymeleaf:# 开启视图解析enabled: true#编码格式encoding: UTF-8#前缀配置prefix: classpath:/templates/# 后缀配置suffix: .html#是否使用缓存 开发环境时不设置缓存cache: false# 格式为 HTML 格式mode: HTML5# 配置类型servlet:content-type: text/html

创建Thymeleaf模板

src/main/resources/templates/目录下创建Thymeleaf模板文件。例如,我们创建一个名为index.html的文件:

<!DOCTYPE html>
<html lang="en"  xmlns:th="http://www.thymeleaf.org"><head><meta charset="UTF-8"><title>修己</title>
</head>
<body>
<span th:text="${name}" style="font-size: 60px;font-weight: bold;color: #00C957;font-family: 楷体,cursive">xj</span>
</body>
</html>

修改 html 标签用于引入 thymeleaf 引擎,这样才可以在其他标签里使用 th:* 语法,声明如下:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

创建Controller

现在,我们需要一个Controller来处理请求并提供数据给Thymeleaf模板。创建一个简单的Controller类:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;@Controller
public class TestController {@GetMapping({"/","/index"})public String  listUser(Model model){model.addAttribute("name","修己");return "index";}
}

注:

我们前后端分离的项目在controller上一般都会使用@RestController注解,@RestController 注解是 @Controller 和 @ResponseBody 注解的结合,它的作用相当于在每个方法上都添加了 @ResponseBody,用于构建 RESTful Web服务。使用 @RestController 注解的类,每个方法的返回值都会被直接写入HTTP响应体中,而不会经过视图解析器进行渲染。默认情况下,返回的是JSON格式的数据,但可以通过其他注解配置以返回不同格式的数据。

@Controller 通常用于传统的MVC应用程序,其中控制器负责处理HTTP请求,并返回一个视图(HTML页面)或者通过视图解析器解析的模型数据。Thymeleaf通常与@Controller一起使用,因为Thymeleaf模板引擎负责渲染HTML视图。

运行应用

现在你可以运行你的Spring Boot应用程序。访问http://localhost:8000 或者 http://localhost:8000/index,你应该能够看到渲染后的页面,上面显示着动态设置的name。

b2c3450a2ac4a54cd8c29f97bd22cf2.png

语法

Thymeleaf 是一款现代化的服务器端Java模板引擎,专为Web应用开发而设计。其语法清晰、易读,广泛支持HTML、XML、JavaScript等多种模板类型。尽管我之前对Thymeleaf的页面开发经验有限,但最近在网络上发现了一篇介绍Thymeleaf基本语法和特性的博客。我觉得这篇博客内容非常有价值,于是决定将其分享给家人,以便更多人能够受益。如果你也对Thymeleaf感兴趣,可以在这里查看博客内容:https://fanlychie.github.io/post/thymeleaf.html 。

总结

通过集成Thymeleaf,我们能够在Spring Boot应用中创建动态且灵活的用户界面。Thymeleaf的简单语法和与Spring Boot的无缝集成使得开发者能够轻松构建功能丰富的Web应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/230963.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.HDFS 架构

目录 概述架构HDFS副本HDFS数据写入流程NN 工作原理DN 工作原理 结束 概述 官方文档快递 环境&#xff1a;hadoop 版本 3.3.6 相关文章速递 架构 HDFS HDFS 架构总结如下&#xff1a; a master/slave architecture 一主多从架构a file is split into one or more blocks a…

SylixOS各阶段代号说明

SylixOS已经历了多年更新迭代&#xff0c;每个阶段都会新增或完善一个重要领域&#xff0c;并命名一个代号&#xff0c;以表祝愿和纪念。

工具网站DefiLlama全攻略:从零学习链上数据使用与发现

DefiLlama 是一个 DeFi(去中心化金融)信息聚合器,其主要功能是提供各种 DeFi 平台的准确、全面数据。DefiLlama 致力于在不受广告或赞助内容影响的情况下为用户提供这些数据,以确保信息内容的透明度和公正性,该平台聚合来自多个区块链的数据,让用户能够全面了解 DeFi 格局…

全球海洋数据 (GLODAP) v2.2023(海洋碳数据产品)

全球海洋数据分析项目 (GLODAP) v2.2023 全球海洋数据分析项目 (GLODAP) v2.2023 代表了海洋生物地球化学瓶数据合成方面的重大进步。此更新主要关注海水无机碳化学&#xff0c;以 GLODAPv2.2022 为基础&#xff0c;包含多项关键增强功能。值得注意的是&#xff0c;增加了 43 …

大数据StarRocks(三) StarRocks数据表设计

1. 列式存储 1.1 列式存储方式有以下几个优点&#xff1a; 1.快速的数据查询 由于数据是按照列进行存储的&#xff0c;所以查询某个列时只需要读取该列所在的块&#xff0c;而不是整行数据&#xff0c;从而大大提高了查询效率。 2.压缩效率高 由于列式存储的数据块中只有一…

blender mix节点和它的混合模式

Mix 节点是一种用于混合两个颜色或者两个图像的节点&#xff0c;它有以下几个输入和输出&#xff1a; Color1&#xff1a;用于接收第一个颜色或者图像&#xff0c;也就是基色。Color2&#xff1a;用于接收第二个颜色或者图像&#xff0c;也就是混合色。Fac&#xff1a;用于控制…

一文讲透Stata计量经济学中如何分中东西区域回归?

stata如何分中东西区域回归本质上是异质性检验。 异质性检验即针对样本进行分类分组&#xff0c;基于各组样本分别开展的实证检验。异质性检验通常在基准回归之后&#xff0c;基准回归依据的是全部的样本&#xff0c;当基准回归得到的结果较为显著&#xff0c;即核心解释变量显…

2023年03月21日_chatgpt宕机事件的简单回顾

你能想象吗 ChatGPT挂了 昨天半夜呢 来自全球各地的用户纷纷发现 ChatGPT的网站弹出了报错警告的信息 然后立即就无法使用了 即使是有特权的plus账户也未能幸免 一时之间呢 chatgptdown的话题在Twitter刷屏 不少重度的用户表示很着急 有的用户说呢没了ChatGPT 这工作…

Vue3地图选点组件

Vue3地图选点组件 <template><div style"width: 100%; height: 500px"><div class"search-container"><el-autocompletev-model"suggestionKeyWord"class"search-container__input"clearable:fetch-suggestion…

Hadoop入门学习笔记——八、数据分析综合案例

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记&#xff08;汇总&#xff09; 目录 八、数据分析综合案例8.1. 需求分析8.1.1. 背景介绍8.1.2…

【C语言】计算机原码,反码,补码

机器数 一个数在计算机中的表现形式叫做机器数&#xff0c;这个数有正负之分&#xff0c;在计算机中用一个数的最高位&#xff08;符号位&#xff09;用来表示它的正负&#xff0c;其中0表示正数&#xff0c;1表示负数。 例如正数7&#xff0c;在计算机中用一个8位的二进制数…

Transforer逐模块讲解

本文将按照transformer的结构图依次对各个模块进行讲解&#xff1a; 可以看一下模型的大致结构&#xff1a;主要有encode和decode两大部分组成&#xff0c;数据经过词embedding以及位置embedding得到encode的时输入数据 输入部分 embedding就是从原始数据中提取出单词或位置&…

C之BS开发

一、 BS 概述与 boa 搭建 1.1 BS 模式开发概述 BS 模式&#xff1a; 浏览器与服务器模式&#xff0c; 即通过浏览器访问服务器的 Web 资源。 1.1.1 web 前端开发技术 主要包含&#xff1a; HTML 、 CSS 、 XML/JSON 、 Javascript 、 AJAX HTML 超文本标记语言 ( 英文全称…

ssm基于web的素材网的设计与实现+vue论文

基于web的素材网站的设计与实现 摘要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。传统的素材信息管理模式&#xff0c;采用人工登记的方式保存相关数据&#xff0c;这种以人力为主的管理…

实现区域地图散点图效果,vue+echart地图+散点图

需求&#xff1a;根据后端返回的定位坐标数据实现定位渲染 1.效果图 2.准备工作,在main.js和index.js文件中添加以下内容 main.js app.use(BaiduMap, {// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ak: sRDDfAKpCSG5iF1rvwph4Q95M…

【C语言】stdbool.h——有关bool的总结

在编程和日常生活中&#xff0c;经常需要一种只能具有两个值之一的数据类型&#xff0c;如是否、开关、真假等&#xff0c;因此&#xff0c;C 有一种bool数据类型&#xff0c;称为booleans。布尔值表示 或true的值false。 C 中的 bool 是大多数语言中的基本数据类型&#xff0…

网络安全与IP地址:构建数字世界的前沿堡垒

网络安全是当今数字社会中不可忽视的挑战之一。而IP地址&#xff0c;作为互联网通信的基础协议&#xff0c;既是数字化时代的桥梁&#xff0c;也是网络安全的关键节点。本文将剖析IP地址在网络安全领域的作用&#xff0c;以及如何利用其特性建立有效的网络安全策略。 IP地址&a…

table的最后一行需要加底色

<tr class"font12" v-for"(item, index) in OrderAuditDiscountList.list" :key"index":class"OrderAuditDiscountList.list.length - 1 index ? blodfont : "> 其中&#xff1a; :class"OrderAuditDiscountList.list.le…

借还款记账表,借款还款记账软件

我们每个人都在为生活奔波&#xff0c;为事业打拼。但有时候&#xff0c;生活中的一些小事情&#xff0c;比如朋友间的借贷、还款&#xff0c;就可能让我们的生活变得有些混乱。为了解决这个问题&#xff0c;一个全新的借还款记账软件【晨曦记账本】横空出世&#xff0c;它不仅…

FindMy技术用于鼠标

鼠标是计算机的标准配置之一&#xff0c;其设计初衷是为了使计算机的操作更加简便快捷&#xff0c;减少用户在操作中的负担。用户可以通过移动鼠标&#xff0c;实现光标的精确移动&#xff0c;进而选择、拖拽、复制、粘贴等操作。这种操作方式&#xff0c;使得计算机的操作变得…