springboot项目开发,使用thymeleaf前端框架的简单案例

springboot项目开发,使用thymeleaf前端框架的简单案例!我们看一下,如何在springboot项目里面简单的构建一个thymeleaf的前端页面。来完成动态数据的渲染效果。


第一步,我们在上一小节,已经提前预下载了对应的组件了。

如图,springboot的强大之处就在于,它有一套完整的版本依赖关系。管理很方便。插件彼此之间的依赖,不需要我们再去思考了。它自己会下载所需的依赖包。

在依赖项里面可以看见这个选项,就是下载成功了。


第二步,我们设计一下自己的前端页面的存档路径。

如图,我们在templates文件夹下面新建了一个index的文件夹,里面新建立一个index.html文件。

复制代码
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
<div>
    <p>
        <span>用户名字:张三</span>
        <span>用户年龄:21</span>
        <span>用户爱好:骑车,爬山,健身</span>
    </p>

</div>
</body>
</html>

暂时是静态的内容。等会我们会把它改成动态熏染的。


第三步,我们配置一下,thymeleaf基础的参数信息。告诉我们的springboot去哪里渲染我们的内容。

复制代码
server.port= 8080

#Thymeleaf 基础配置参数
spring.thymeleaf.cache = false
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.suffix=.html
spring.thymeleaf.prefix=classpath:/templates/

如上内容,这个就是基础的。application.properties里面的thymeleaf参数配置。我们选择了不开启缓存。


第四步,我们提前准备好一个user实体类,存储我们的动态数据,

复制代码
package com.example.demo.bean;

import java.util.ArrayList;

public class User {
    private String id;
    private String name;
    private String age;
    private ArrayList<String> hobby;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public ArrayList<String> getHobby() {
        return hobby;
    }

    public void setHobby(ArrayList<String> hobby) {
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", hobby=" + hobby +
                '}';
    }
}

第五步,我们新增了一个UserController控制器。还是一个简单的get请求路径。

测试一下。我们的内容能不能渲染到前端页面内。

复制代码
package com.example.demo.controller;

import com.example.demo.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;

@Controller
@RequestMapping("/user")
public class UserController {
    @GetMapping("/index")
    public String  index(ModelMap model){
        User user = new User();
        user.setId("201212001");
        user.setAge("24");
        user.setName("老刘");
        ArrayList<String> hobbyList = new ArrayList();
        hobbyList.add("瑜伽");
        hobbyList.add("骑马");
        hobbyList.add("看电影");
        user.setHobby(hobbyList);
        model.addAttribute("user",user);
        //输入对应的前端页面的名字index
        return "/index/index";
    }
}

借助于官方提供的ui.modelMap插件可以完成数据的绑定。在前端页面就可以拿到这个数据来渲染了。


复制代码
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
<div>
    <p>
        <span th:text="${user.name}"></span>
        <span th:text="${user.age}"></span>
        <span th:text="${user.hobby}"></span>
    </p>

</div>
</body>
</html>

如图,我们已经采取了动态渲染的方式。

看看能不能正常获取到数据。


如图,确实是拿到了数据信息。至此为止,一个简单的thymeleaf前端框架的使用案例就完成了。

后续我们会分享,如何让springboot配合mysql数据库渲染数据。

相关推荐
葫芦和十三2 小时前
图解 MongoDB 11|慢查询排查闭环:从 Profile 到 explain 的分层路径
后端·mongodb·agent
葫芦和十三6 小时前
图解 MongoDB 09|explain 再读:从 queryPlanner 到 executionStats
后端·mongodb·agent
葫芦和十三6 小时前
图解 MongoDB 10|覆盖查询:让索引把活干完,根本不用回表
后端·mongodb·agent
大鸡腿同学7 小时前
从 CoT 思维链到 ReAct:智能 Agent 到底是怎么 “思考” 的?
后端
IT_陈寒9 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
小bo波9 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking10 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
Asize10 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
java小白小11 小时前
SpringBoot(09):缓存实战——穿透、雪崩、击穿的解决方案
后端
java小白小11 小时前
SpringBoot(08):Redis 集成——5 分钟给你的项目加上缓存
后端