springboot Thymeleaf基本使用

什么是Thymeleaf

在这里插入图片描述

Thymeleaf是一个现代服务器端 Java 模板引擎,适用于 Web 和独立环境。

Thymeleaf 的主要目标是将优雅的自然模板引入您的开发工作流程 - HTML 可以在浏览器中正确显示,也可以用作静态原型,从而允许开发团队进行更强有力的协作。

凭借 Spring Framework 的模块、与您喜爱的工具的大量集成以及插入您自己的功能的能力,Thymeleaf 非常适合现代 HTML5 JVM Web 开发 - 尽管它还有更多功能。

集成Thymeleaf模板

注意springboot建立好之后,模版文件就放在templates里面
在这里插入图片描述

引入依赖

	<!--使用thymelaf-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

编辑配置

# 配置 thymeleaf
spring:
  thymeleaf:
    prefix: classpath:/templates/  #指定thymeleaf模板前缀目录
    suffix: .html                  #指定模板的后缀
    cache: false                    #是否开启thymeleaf缓存 默认值是true开启缓存  在开发过程中推荐使用false

编写controller

@Controller    //一定要是@Controller 不能再使用@RestController注解
@RequestMapping("hello")
public class HelloController {
    @GetMapping("hello")
    public String hello(){
        System.out.println("测试与 thymeleaf 的集成");
        return "index";
    }
}

测试访问

在这里插入图片描述


Thymeleaf 基础用法

1).html文件使用thymeleaf语法 必须导入thymeleaf的头才能使用相关语法

	namespace: 命名空间  
<html lang="en" xmlns:th="http://www.thymeleaf.org">

在这里插入图片描述

2).在html中通过thymeleaf语法获取数据

获取单个属性

设置数据

  @RequestMapping("demo")
    public String demo(HttpServletRequest request, Model model, HttpSession session) {
        String name ="小陈";
        System.out.println("demo ok");
        request.setAttribute("name",name);
        return "demo";
    }

获取数据

<h4>获取单个数据:<span th:text="${name}"></span></h4>

展示数据

在这里插入图片描述
另外有时候,我们不是直接把文本渲染到页面中,是要,直接将获取数据先解析成html标签在渲染到页面。
所以我们可以使用以下方式
设置数据

 String content = "<a href='http://www.baidu.com'>百度一下</a>";
        System.out.println("demo ok");
        model.addAttribute("content", content);

获取数据

<h4>获取单个数据: <span th:utext="${content}"></span></h4>

展示数据
在这里插入图片描述

将数据赋值给表单元素

<input type="text" name="username" th:value="${name}">

获取对象属性

设置数据

  User user = new User(21, "小张", 2300.23, new Date());
        request.setAttribute("user", user);

获取数据

<!-- 格式化日期:${#dates.format(格式化值,'格式')} -->
<h4>获取对象类型数据:
    id:<span th:text="${user.id}"/>
    name:<span th:text="${user.name}"/>
    salary:<span th:text="${user.salary}"/>
    birthday:<span th:text="${#dates.format(user.birthday,'yyyy-MM-dd HH:mm:ss')}"/>
</h4>

展示数据
在这里插入图片描述

传递集合对象

设置数据

//传递集合类型数据
        List<User> users = Arrays.asList(new User(22, "小黄", 232.2, new Date()),
                new User(23, "小王", 232.2, new Date()),
                new User(24,"win7",232.2,new Date()));

        model.addAttribute("users",users);

获取数据

<h4>获取集合类型数据:</h4>

<!--遍历数据 th:each="变量(current_element当前遍历元素),变量(state遍历状态对象):集合" 遍历-->
<ul>
    <li th:each="user,state:${users}">
        state count: <span th:text="${state.count}"></span>
        state odd : <span th:text="${state.odd}"></span>
        state even : <span th:text="${state.even}"></span>
        state size : <span th:text="${state.size}"></span>
        id: <span th:text="${user.id}"></span>
        name: <span th:text="${user.name}"></span>
        salary: <span th:text="${user.salary}"></span>
        birthday: <span th:text="${#dates.format(user.birthday,'yyyy年MM月dd日')}"></span>
    </li>
</ul>

展示数据
在这里插入图片描述

传递条件对象

设置数据

  Integer age = 25;
  model.addAttribute("age", age);

获取数据

<!-- th:if="${age>=23}" 作用: 用条件展示数据-->
<div style="width: 100px;height: 100px;background: rebeccapurple;" th:if="${age>23}">
    我是rebeccapurple
</div>
<div style="width: 100px;height: 100px;background: greenyellow;" th:if="${age<=23}">
    我是greenyellow
</div>

展示数据
在这里插入图片描述

获取session作用域

设置数据

 session.setAttribute("username","小二黑");

获取数据

<h4>获取session作用域中数据: <span th:text="${session.username}"></span></h4>

展示数据
在这里插入图片描述

Thymeleaf 如何引入静态资源

使用thymeleaf模板项目中静态资源默认放在resources路径小static目录中

在这里插入图片描述

注意: @{/}代表通过thymeleaf语法动态获取应用名

   <!--
        th:href="@{/}"  @{/}: 获取应用名称
    -->
    <link rel="stylesheet" th:href="@{/demo.css}">
    
  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring BootThymeleaf是一个非常强大的组合,可以用来开发Web应用程序。如果你想在Thymeleaf中展示一个列表,可以按照以下步骤进行操作: 1. 首先,在你的Spring Boot项目中添加Thymeleaf依赖。在pom.xml文件中,添加如下代码: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 2. 创建一个控制器类,在该类中定义一个处理请求的方法。例如: ```java @Controller public class MyController { @GetMapping("/list") public String getList(Model model) { List<String> items = Arrays.asList("Item 1", "Item 2", "Item 3"); model.addAttribute("items", items); return "list"; } } ``` 在这个例子中,我们创建了一个名为`getList`的方法,该方法通过`Model`对象将一个字符串列表添加到属性中,并返回"list"作为视图名称。 3. 创建一个Thymeleaf模板,名为"list.html"。在模板中,可以使用Thymeleaf的语法来迭代并展示列表。例如: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>List Example</title> </head> <body> <h1>List Example</h1> <ul> <li th:each="item : ${items}" th:text="${item}"></li> </ul> </body> </html> ``` 在这个例子中,我们使用`th:each`指令来迭代`items`列表,并使用`th:text`指令来展示每个元素的文本内容。 4. 最后,运行你的Spring Boot应用程序,并访问`/list`路径,你将看到一个包含列表项的页面。 这就是在Spring BootThymeleaf中展示一个列表的基本步骤。你可以根据自己的需求对模板进行进一步的定制和样式设置。希望这可以帮助到你!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘忧记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值