Spring Boot入门(19):超酷炫!Spring Boot + Thymeleaf 带你玩转 Web 页面开发!

举报
bug菌 发表于 2023/08/26 21:13:56 2023/08/26
【摘要】 Spring Boot 是一个快速开发Spring应用程序的框架,它内置了许多依赖项,使得开发者可以轻松构建Web应用程序。Thymeleaf是一个现代化的Java模板引擎,可以支持HTML5和XML文档的渲染,因此Spring Boot与Thymeleaf的整合可以更方便地开发Web页面。

前言

在Web开发中,不管是MVC框架还是前后端分离,都需要使用模板引擎来渲染生成页面。Thymeleaf 是一款非常优秀的模板引擎,它以自然的方式处理模板,支持 HTML5 标签,同时兼容 HTML4。

本文将介绍如何使用Spring Boot框架,整合 Thymeleaf 模板引擎来开发Web页面。

摘要

本文将分为以下几个部分:

  1. 新建Spring Boot项目
  2. 配置Thymeleaf模板引擎
  3. 编写HTML页面
  4. 模板引擎使用方法介绍
  5. 测试用例
  6. 全文小结

新建Spring Boot项目

首先我们需要新建一个Spring Boot项目。可以使用Spring官方的 Spring Initializr 来快速生成一个最简单的Spring Boot项目。

在此我们选择使用 Maven 作为项目构建工具,选择Web和Thymeleaf依赖,点击Generate按钮即可生成项目。

配置Thymeleaf模板引擎

新建Spring Boot项目后,我们需要在项目中配置 Thymeleaf 模板引擎。

在application.properties 文件中,添加以下配置:

# 设置 Thymeleaf 模板文件的路径
spring.thymeleaf.prefix=classpath:/templates/
# 设置 Thymeleaf 模板文件的后缀名
spring.thymeleaf.suffix=.html
# 设置 HTML 页面编码
spring.thymeleaf.encoding=UTF-8
# 设置是否缓存 Thymeleaf 模板文件
spring.thymeleaf.cache=false

以上配置中,我们设置了 Thymeleaf 模板文件的路径、后缀名、HTML 页面编码和是否缓存 Thymeleaf 模板文件。

编写HTML页面

在templates文件夹下,新建一个名为 index.html 的 HTML 页面:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Thymeleaf Test</title>
</head>
<body>
    <!-- 模板语法 -->
    <h1 th:text="${msg}"></h1>
</body>
</html>

以上是一个简单的 HTML 页面,我们使用了Thymeleaf的模板语法,将 msg 这个变量的值渲染到 h1 标签中。

模板引擎使用方法介绍

在编写 HTML 页面时,我们可以使用Thymeleaf的模板语法,对页面进行动态渲染。以下是一些常用的模板语法:

  1. 输出变量

Thymeleaf 的表达式,格式为${variable},可以输出变量到HTML页面。

<!-- 输出 msg 变量的值 -->
<p th:text="${msg}"></p>
  1. 条件判断

Thymeleaf 支持条件判断,格式为th:if,可以根据条件渲染不同的HTML片段。

<!-- 如果 msg 变量等于 'Hello World',则输出 'Hello World';否则输出 '其他文本' -->
<p th:if="${msg == 'Hello World'}">Hello World</p>
<p th:if="${msg != 'Hello World'}">其他文本</p>
  1. 循环语句

Thymeleaf 支持循环语句,格式为th:each,可以循环输出HTML片段。

<!-- 循环输出 list 变量中的元素 -->
<ul>
    <li th:each="item : ${list}" th:text="${item}"></li>
</ul>
  1. 表单绑定

Thymeleaf 支持表单绑定,可以将表单数据绑定到 Model 中,并自动渲染到HTML页面。

<form th:action="@{/login}" method="post">
    <input type="text" th:field="${user.username}" />
    <input type="password" th:field="${user.password}" />
    <button type="submit">登录</button>
</form>

以上是Thymeleaf模板引擎常用的一些语法,更多语法和用法可以参考 官方文档

测试用例

在本地运行项目,访问 http://localhost:8080/ ,即可看到页面中显示了 Hello World!,这个信息是从Controller层传递过来的。我们可以在Controller层中添加以下代码来测试:

@Controller
public class TestController {
    @GetMapping("/")
    public String index(Model model) {
        model.addAttribute("msg", "Hello World!");
        return "index";
    }
}

全文小结

本文介绍了如何使用Spring Boot框架,整合 Thymeleaf 模板引擎来开发Web页面,并介绍了 Thymeleaf 模板引擎的常用语法。通过本文的学习,读者可以快速上手使用 Thymeleaf 模板引擎开发 Web 页面。

关于我

我是bug菌,CSDN | 阿里云 | 华为云 | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金 | InfoQ | 51CTO等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。