SpringBoot整合Thymeleaf

本文介绍了Thymeleaf的基本知识点,包括变量输出、字符串相关操作如isEmpty、contains等,以及时间类型的处理。同时,展示了在SpringBoot项目中如何整合Thymeleaf,创建Controller和视图模板,并通过Model进行数据传递。此外,还讲解了th:if和th:switch条件判断在模板中的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 Thymeleaf知识点汇总

1. 变量输出

th:text(在页面中输出值)

th:value(将值放到inputvalue属性中)

2. Thymeleaf内置对象 

字符串相关操作:

 <!--调用了thymeleaf的内置对象,调用内置对象要用#-->
    <span th:text="${#strings.isEmpty(msg)}"></span>
    <hr>
    <!--判断字符串是否包含指定的数据-->
    <span th:text="${#strings.contains(msg,'9')}"></span>
    <span th:text="${#strings.contains(msg,'t')}"></span>
    <hr>
    <!--判断字符串以XXX开始-->
    <span th:text="${#strings.startsWith(msg,'a')}"></span>
    <span th:text="${#strings.startsWith(msg,'t')}"></span>
    <hr>
    <!--判断字符串以XXX结束-->
    <span th:text="${#strings.endsWith(msg,'a')}"></span>
    <span th:text="${#strings.endsWith(msg,'数据')}"></span>
    <hr>
    <!--字符串长度-->
    <span th:text="${#strings.length(msg)}"></span>
    <hr>
    <!--某字符在字符串中出现的位置-->
    <span th:text="${#strings.indexOf(msg,'y')}"></span>
    <hr>
    <!--截取字符串-->
    <span th:text="${#strings.substring(msg,1,3)}"></span>
    <hr>
    <span th:text="${#strings.substring(msg,5)}"></span>
    <hr>
    <!--大小写转换-->
    <span th:text="${#strings.toUpperCase(msg)}"></span>
    <hr>
    <span th:text="${#strings.toLowerCase(msg)}"></span>
    <hr>

时间类型的处理:

  <!--接收时间类型-->
    <span th:text="${#dates.format(key)}"></span>
    <hr>
  <!--设置固定格式-->   
    <span th:text="${#dates.format(key,'yyy/MM/dd')}"></span>
    <hr>
  <!--获取年-->       
    <span th:text="${#dates.year(key)}"></span>
    <hr>
  <!--获取月-->
    <span th:text="${#dates.month(key)}"></span>
    <hr>
  <!--获取日-->
    <span th:text="${#dates.day(key)}"></span>

 3. 判断

th:if 条件判断,代码示例:

    <span th:if="${sex} == '男'">
        性别:男
    </span>

    <span th:if="${sex} == '女'">
        性别:女
    </span>

th:switch判断,代码示例:

    <div th:switch="${id}">
        <span th:case="1">ID为1</span>
        <span th:case="2">ID为2</span>
        <span th:case="3">ID为3</span>
    </div>

二、整合步骤

1. 创建springboot项目,导入springWeb与thymeleaf相关依赖,依赖如下:

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

2. 创建controller控制器,代码如下:

@Controller
public class ThymeleafController {

    @RequestMapping("/show")
    public String showInfo(Model model) {
        model.addAttribute("msg", "thymeleaf---AA--测试数据");
        model.addAttribute("key", new Date());
        return "index";  //返回值为视图名称
    }
}   
在这里用的是model来与页面进行通信

3. 创建视图,目录如下:

 在前后一体项目中,视图存放位置为“src/main/resource/templates”,该目录是安全的,因为该目录下的内容是不允许外界直接访问的。

 下面是视图代码:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Thymeleaf学习</title>
</head>
<body>
    <span th:text="hello"></span>
    <hr>
    <span th:text="${msg}"></span>
    <hr>
    <input type="text" name="username" th:value="${msg}">
    <hr>
</body>
</html>

 三、总结

1. Thymeleaf内置对象要用“#”;

2. 要用Thymeleaf语法需加“th”;

3. 视图层一定要放到“templates”下。

本章就分享到这儿啦,若有问题欢迎留言或私信,我们一同进步(*^▽^*)

### 集成ThymeleafSpring Boot项目 为了在Spring Boot应用程序中集成Thymeleef模板引擎,仅需引入`spring-boot-starter-thymeleaf`依赖即可[^1]。当此依赖被加入至项目的构建文件(如Maven的pom.xml),Spring Boot自动配置机制将会识别并设置好必要的组件来支持Thymeleaf作为视图解析器[^4]。 #### Maven依赖声明 对于采用Maven管理依赖关系的应用程序来说,在`pom.xml`内添加如下片段: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 一旦完成上述操作,则无需额外的手动配置;因为Spring Boot的设计理念就是减少开发者的工作量,使得创建独立运行、生产级别的基于Spring框架的新一代应用变得简单快捷[^2]。 #### 创建控制器类 接下来定义一个简单的控制器用于处理HTTP请求并将数据传递给Thymeleaf模板渲染页面输出。下面是一个基本的例子展示如何实现这一点: ```java import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("/hello") public String hello(Model model) { model.addAttribute("message", "Hello from Thymeleaf!"); return "hello"; } } ``` 这段代码中的`@Controller`注解表明这是一个Spring MVC控制器,而`@GetMapping("/hello")`则指定了该方法响应来自路径`/hello`的GET请求。最后通过返回字符串`"hello"`告诉Spring去查找名为`hello.html`的Thymeleaf模板文件来进行视图呈现[^5]。 #### 编写Thymeleaf模板 最后一步是在资源目录下的适当位置放置HTML文件——通常位于`src/main/resources/templates/`下,并命名为`hello.html`。这里给出一段非常基础的HTML文档结构加上一点Thymeleaf语法用来显示之前由Java端传过来的消息属性: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Hello Page</title> </head> <body> <h1 th:text="${message}">Placeholder text here...</h1> </body> </html> ``` 以上便是整个过程概述以及具体实施步骤说明。值得注意的是即使不使用Spring也可以单独利用Thymeleaf进行Web开发工作[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值