Thymeleaf

        Thymeleaf是一种用于在Web应用程序中渲染HTML模板的Java模板引擎。它允许开发人员通过模板中的表达式和标签将动态数据嵌入到HTML页面中。Thymeleaf的设计目标是使模板更易于阅读、可维护,并且与设计师和非开发人员协作更加容易。

一、Thymeleaf

<html xmlns:th="http://www.thymeleaf.org">   这段 HTML 代码使用了 XML 命名空间(namespace)的概念,特别是 Thymeleaf 的命名空间,它通常用于 Thymeleaf 模板引擎中。

Thymeleaf 是一种用于服务器端模板渲染的 Java 模板引擎,它允许开发者将动态数据嵌入到 HTML 模板中。

上述代码中的 xmlns:th="http://www.thymeleaf.org" 定义了一个 XML 命名空间前缀 th,它与 Thymeleaf 相关联。

通过定义 Thymeleaf 命名空间,你可以在 HTML 中使用 Thymeleaf 的模板语法,以便在服务器端动态生成 HTML 内容。例如,你可以在 HTML 中使用 Thymeleaf 表达式来插入变量、循环遍历集合、执行条件判断等操作。 以下是一个简单的示例,演示了如何在 HTML 中使用 Thymeleaf 表达式:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Thymeleaf Example</title>
</head>
<body>
    <h1>Welcome, <span th:text="${user.name}">User</span>!</h1>
    <ul>
        <li th:each="item : ${items}" th:text="${item}"></li>
    </ul>
</body>
</html>

在上面的示例中,th:text="${user.name}" 和 th:each="item : ${items}" 都是 Thymeleaf 表达式,用于在服务器端渲染时替换成实际的数据。这样,你可以动态地生成 HTML 内容,而不是静态的硬编码 HTML 页面。

二、使用 Thymeleaf时,需要在后端 Java 代码中执行的步骤
1、配置 Thymeleaf:

        首先,确保你的项目已正确配置 Thymeleaf。这通常涉及到在你的项目中添加 Thymeleaf 依赖,并在配置文件中指定 Thymeleaf 的模板路径等配置信息。

// 示例 Spring Boot 配置
// 配置文件 application.properties 或 application.yml
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
2、创建控制器:

        创建一个控制器类,该类将处理 HTTP 请求并准备要渲染的数据。在控制器中,你需要使用 Thymeleaf 的上下文对象来将数据传递到模板中。

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
 
@Controller
public class MyController {
 
    @GetMapping("/myPage")
    public String myPage(Model model) {
        // 准备数据
        model.addAttribute("user", new User("John"));
        model.addAttribute("items", Arrays.asList("Item 1", "Item 2", "Item 3"));
 
        // 返回模板文件名
        return "myPageTemplate"; // 这里的模板文件名应该对应你的实际文件名
    }
}
3、创建 Thymeleaf 模板:

        在项目的模板目录(根据配置通常是 templates/)中创建模板文件,文件名与控制器方法中返回的模板文件名相匹配(在上面的示例中是 "myPageTemplate")。在模板文件中使用 Thymeleaf 表达式来渲染数据。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>My Page</title>
</head>
<body>
    <h1>Welcome, <span th:text="${user.name}">User</span>!</h1>
    <ul>
        <li th:each="item : ${items}" th:text="${item}">Item</li>
    </ul>
</body>
</html>
4、返回模板名称:

        控制器方法中的 return 语句应该返回模板文件的名称,而不是文件的实际路径。Thymeleaf 将根据配置的模板前缀和后缀来查找模板文件。

5、请求处理:

        当用户访问 /myPage 路径时,控制器方法将会被调用,它将准备数据并返回模板的名称。Thymeleaf 将会根据模板名称查找并渲染模板,将数据插入到模板中,然后将渲染后的 HTML 响应发送给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值