自学内容网 自学内容网

Web开发之Thymeleaf引擎

1. Thymeleaf简介

(1) 模板引擎

模板引擎就是一种用于将动态数据与HTML模板结合,生成最终用户界面的工具 ,它可以帮助开发者以可维护和结构化的方式创建动态Web页面,模板引擎通常支持数据的动态插入、条件渲染、循环等功能

(2) Thymeleaf介绍

Thymeleaf是一个现代的Java模板引擎,适用于Web和独立环境。它可以与Spring框架无缝集成,并提供了一种自然的模板创建方式,使得模板可以在浏览器中直接打开,方便前端开发者查看

(3) Thymeleaf特点
  • 自然模板:Thymeleaf模板可以作为静态HTML文件在浏览器中直接打开,而不需要经过服务器处理,方便前端开发
  • 可扩展性:支持自定义方言,开发者可以根据需求扩展Thymeleaf的功能
  • 条件渲染:通过表达式支持条件判断和循环,能够根据动态数据生成不同的HTML
  • 与Spring集成:与Spring MVC的集成十分简便,能够自动解析模型数据并渲染视图

2. 核心语法

(1) Thymeleaf配置

Thymeleaf的基本配置通常在Spring Boot项目中进行。通过在application.properties中添加以下配置,可以启用Thymeleaf支持:

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

#Thymeleaf配置:不用缓存
spring.thymeleaf.cache=false

在Controller中返回视图时,可以直接使用视图名称,Thymeleaf会根据前缀和后缀自动解析

为了开发时方便测试,关闭Thymeleaf的缓存可以不重启项目即可看到html文件改动的效果

(2) 表达式

Thymeleaf支持多种表达式语言,包括:

  • 标准表达式${...}):用于访问模型中的属性
  • 变量表达式*{...}):用于访问当前上下文中的属性
  • 选择表达式?{...}):用于条件选择,可以进行国际化处理
  • 链接表达式@{...}):用于生成URL
<p th:text="${user.name}">用户名称</p>
<a th:href="@{/user/${user.id}}">查看用户</a>
(3) 常用标签
  • th:设置元素的文本内容
  • th:动态生成链接
  • th:根据条件渲染元素
  • th:循环渲染集合
<ul>
    <li th:each="item : ${items}" th:text="${item.name}"></li>
</ul>

3. 页面布局

(1) 片段表达式

Thymeleaf支持片段表达式,通过th:insertth:replace等方式将模板中的片段引入到其他模板中。这使得页面布局更为灵活和可复用

<!-- 定义片段 -->
<div th:fragment="header">
    <h1>欢迎</h1>
</div>

<!-- 引入片段 -->
<div th:insert="~{header}"></div>
(2) 页面布局

使用Thymeleaf布局功能,可以创建统一的页面结构。例如,可以在main.html中定义基本布局,然后在其他页面中通过layout:decorate引入

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{main}">
<head>
    <title>用户管理</title>
</head>
<body>
    <div layout:fragment="content">
        <h2>用户列表</h2>
    </div>
</body>
</html>

Thymeleaf作为一个强大的Java模板引擎,相比JSP,具有自然模板、良好的可扩展性和与Spring的深度集成等优点,开发者可以高效地创建动态和响应式的Web页面。综合来看,Thymeleaf 在易用性、可维护性、灵活性等方面都优于 JSP,这使得它在现代 Web 开发中更受欢迎


原文地址:https://blog.csdn.net/Pre_W/article/details/142408071

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!