spring boot使用thymeleaf模板的方法详解

下面为您提供《Spring Boot使用Thymeleaf模板的方法详解》的完整攻略。

1. Thymeleaf简介

Thymeleaf是一种现代的服务器端Java模板引擎,可以构建HTML、XML、JavaScript、CSS或文本输出。它旨在与Spring框架完全集成,但可以用于处理任何Web和非Web应用程序开发的模板需要。

2. Spring Boot中如何使用Thymeleaf模板

2.1 引入Thymeleaf依赖

在Spring Boot中使用Thymeleaf必须要引入相关的依赖。可以在项目的pom.xml中加入如下代码:

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

2.2 配置Thymeleaf视图解析器

在Spring Boot的配置文件application.properties中加入如下代码:

spring.thymeleaf.enabled=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false

其中,prefix表示Thymeleaf模板文件存放的位置,suffix表示模板文件的后缀名,encoding表示编码格式,mode表示HTML模式,cache表示是否缓存模板。

2.3 创建Thymeleaf模板文件

在classpath:/templates/目录下创建一个名为“index.html”的Thymeleaf模板文件。代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Spring Boot Thymeleaf</title>
</head>
<body>
    <h1>Hello, Thymeleaf!</h1>
    <p th:text="'Current time: ' + ${#dates.format(now(),'yyyy-MM-dd HH:mm:ss')}" />
</body>
</html>

2.4 创建Controller处理请求

创建一个Controller,用于处理请求并返回Thymeleaf模板页面。代码如下:

@Controller
public class ThymeleafController {

    @GetMapping("/thymeleaf")
    public String thymeleaf(Model model) {
        model.addAttribute("now", new Date());
        return "index";
    }
}

在以上代码中,@GetMapping注解表示处理GET请求,thymeleaf方法内的model对象用于向Thymeleaf模板传递数据,return "index"表示返回名为“index”的Thymeleaf模板。

2.5 启动应用程序并测试

在浏览器中输入http://localhost:8080/thymeleaf地址,应该可以看到类似如下的页面:

Hello, Thymeleaf!
Current time: 2022-07-29 14:15:36

以上就是使用Thymeleaf模板的Spring Boot应用程序的完整流程。

3. Thymeleaf中的常用语法

Thymeleaf中的语法十分灵活,以下是几种常见的语法:

3.1 基本语法

<span th:text="${user.name}">Username</span>

在以上代码中,${user.name}是一个表达式,表示从model中获取user对象的name属性。

3.2 条件判断

<div th:if="${user.isAdmin}">
    <span>Welcome, Admin!</span>
</div>

在以上代码中,${user.isAdmin}是一个表达式,表示user对象是否是管理员,如果是,则显示欢迎语句。

3.3 循环遍历

<ul>
    <li th:each="item : ${items}" th:text="${item.name}">Item name</li>
</ul>

在以上代码中,${items}是一个表达式,表示要遍历的列表,具体的每个元素都用item表示。

4. 示例说明

下面通过两个示例来讲解如何使用Thymeleaf模板:

4.1 示例一:展示学生列表

创建一个名为“students.html”的Thymeleaf模板文件,用于展示学生列表。代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Student List</title>
</head>
<body>
    <h1>Student List</h1>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Age</th>
                <th>Gender</th>
                <th>Address</th>
            </tr>
        </thead>
        <tbody>
            <tr th:each="student : ${students}">
                <td th:text="${student.id}">0</td>
                <td th:text="${student.name}">Name</td>
                <td th:text="${student.age}">0</td>
                <td th:text="${student.gender}">Male</td>
                <td th:text="${student.address}">Address</td>
            </tr>
        </tbody>
    </table>
</body>
</html>

创建一个名为“Student”的Java Bean,代码如下:

public class Student {
    private Long id;
    private String name;
    private Integer age;
    private String gender;
    private String address;
    // getter and setter
}

创建一个Controller,代码如下:

@Controller
public class StudentController {
    @GetMapping("/students")
    public String students(Model model) {
        List<Student> students = new ArrayList<>();
        students.add(new Student(1L, "Tom", 18, "Male", "Beijing"));
        students.add(new Student(2L, "Jerry", 20, "Female", "Shanghai"));
        students.add(new Student(3L, "Mike", 22, "Male", "Guangzhou"));
        model.addAttribute("students", students);
        return "students";
    }
}

在以上代码中,students方法向模型中添加了一个名为“students”的属性,值为Student对象列表。返回值为名为“students”的Thymeleaf模板。

启动应用程序,访问http://localhost:8080/students,应该可以看到如下页面:

Student List

ID  Name    Age Gender  Address
1   Tom 18  Male    Beijing
2   Jerry   20  Female  Shanghai
3   Mike    22  Male    Guangzhou

4.2 示例二:表单提交

创建一个名为“form.html”的Thymeleaf模板文件,用于展示并处理表单提交。代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Form Submission</title>
</head>
<body>
    <h1>Form Submission</h1>
    <form method="post" th:object="${user}">
        <div>
            <label for="name">Name:</label>
            <input type="text" id="name" name="name" th:value="*{name}" />
        </div>
        <div>
            <label for="age">Age:</label>
            <input type="text" id="age" name="age" th:value="*{age}" />
        </div>
        <div>
            <button type="submit">Submit</button>
        </div>
    </form>
</body>
</html>

创建一个名为“User”的Java Bean,代码如下:

public class User {
    private String name;
    private Integer age;
    // getter and setter
}

创建一个Controller,用于展示和处理表单提交,代码如下:

@Controller
public class UserController {
    @GetMapping("/form")
    public String form(Model model) {
        model.addAttribute("user", new User());
        return "form";
    }

    @PostMapping("/form")
    public String submit(@ModelAttribute User user, Model model) {
        model.addAttribute("user", user);
        return "result";
    }
}

在以上代码中,form方法向模型中添加了一个名为“user”的属性,值为一个新的空User对象。返回值为名为“form”的Thymeleaf模板。

submit方法使用@ModelAttribute注解来直接绑定表单提交的数据到User对象中,然后将User对象添加到模型中,返回名为“result”的Thymeleaf模板。

创建一个名为“result.html”的Thymeleaf模板文件,展示表单提交结果,代码如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Form Submission Result</title>
</head>
<body>
    <h1>Form Submission Result</h1>
    <ul>
        <li>Name: <span th:text="${user.name}">-</span></li>
        <li>Age: <span th:text="${user.age}">-</span></li>
    </ul>
    <a href="/form">Back to Form</a>
</body>
</html>

启动应用程序,访问http://localhost:8080/form,应该可以看到一个表单页面,输入一些信息,然后点击Submit按钮即可。

提交成功后,应该可以看到内容为刚才提交的用户信息的页面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring boot使用thymeleaf模板的方法详解 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Tomcat服务器安装配置教程(win7)

    Tomcat服务器安装配置教程(win7) 1. 下载Tomcat 首先,你需要从官网下载Tomcat服务器的安装包,你可以选择最新版本的Tomcat来下载。下载地址如下: https://tomcat.apache.org/download-80.cgi 下载后,你需要解压缩文件并将其放置在一个你所选定的目录下。 2. 配置Tomcat服务器 接下来,你需…

    Java 2023年5月19日
    00
  • java编译时与运行时概念与实例详解

    Java编译时与运行时概念与实例详解 在Java程序员的日常工作中,熟练掌握Java编译时和运行时的概念非常重要。本文将详细介绍Java编译时和运行时的相关知识以及一些实例。 Java编译时 概念 Java编译时是指将Java源代码编译为class文件的过程。在Java程序开发中,一般先编写Java源代码,然后通过JDK中的javac命令将Java源代码编译…

    Java 2023年5月20日
    00
  • Java 日志打印的15个好建议

    Java 日志打印的15个好建议 在Java开发中,日志是一个非常重要的工具。它可以帮助开发人员定位和解决问题。在使用日志时,遵循以下的15个好建议将会让日志发挥最大的作用。 1. 使用不同的日志级别 在Java中,常用的日志级别从低到高分别是DEBUG、INFO、WARN、ERROR、FATAL。在使用日志时,应该根据需要选择不同的日志级别。例如,在调试时…

    Java 2023年5月26日
    00
  • 关于Spring Data Jpa 自定义方法实现问题

    关于Spring Data JPA自定义方法实现问题的攻略,一般需要遵循以下步骤: 创建Repository 首先,需要定义一个继承自JpaRepository的Repository,并在其中声明需要自定义的方法。一个基本的Repository示例如下: package com.example.repository; import com.example.d…

    Java 2023年5月20日
    00
  • java删除文件和文件夹具体实现

    当我们需要清理旧数据或者卸载应用程序时,通常需要删除一些文件或者文件夹。下面我来讲解一下Java中如何删除文件和文件夹的实现过程。 删除文件 Java中删除文件的方式非常简单,使用Java的File类提供的delete()方法即可。该方法有一个返回值,表示是否成功删除文件。 例如,我有一个名为test.txt的文件,它的绝对路径为C:\Users\usern…

    Java 2023年5月20日
    00
  • jsp页面中显示word/excel格式的文档的方法

    要在JSP页面中显示Word/Excel格式的文档,一般使用POI这个Java库来读取和处理这些文件,然后在JSP页面中显示处理后的内容。具体步骤如下: 引入POI库 首先需要在项目中引入POI库,可以通过Maven等方式进行引入。以下是Maven中引入POI和其依赖的pom.xml配置代码: <dependency> <groupId&g…

    Java 2023年6月15日
    00
  • 14个编写Spring MVC控制器的实用小技巧(吐血整理)

    下面是对“14个编写Spring MVC控制器的实用小技巧(吐血整理)”的完整攻略: 1. 引入必要的依赖 在开始编写Spring MVC控制器之前,我们需要在项目中引入Spring MVC相关的依赖。通常情况下,我们需要在pom.xml文件中引入以下依赖: <dependencies> <dependency> <groupI…

    Java 2023年5月16日
    00
  • Springboot+AOP实现时间参数格式转换

    下面是”Springboot+AOP实现时间参数格式转换”的完整攻略。 1、背景 在web开发过程中,我们经常需要将前端传过来的时间参数转换成我们需要的格式。如果每次方法处理前都要手动转换,这无疑会增加代码的复杂度和开发时间。因此,我们可以利用Springboot框架提供的AOP功能,在方法执行前进行参数格式转换,从而减少开发时间和复杂度。 2、实现步骤 2…

    Java 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部