代码改变世界

Spring Boot Thymeleaf 模板引擎

  youxin  阅读(48)  评论(0编辑  收藏  举报

我们之前开发,我们需要将前端转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。

jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,其二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。

那该怎么办呢?

SpringBoot推荐我们可以来使用模板引擎。

什么是模板引擎?

模板引擎的作用就是我们来写一个页面模板,比如有些值呢,是动态的,我们写一些表达式。而这些值,从哪来呢,就是我们在后台封装一些数据。然后把这个模板和这个数据交给我们模板引擎,模板引擎按照我们这个数据帮你把这表达式解析、填充到我们指定的位置,然后把这个数据最终生成一个我们想要的内容给我们写出去,这就是我们这个模板引擎,不管是jsp还是其他模板引擎,都是这个思想。

SpringBoot给我们推荐的模板引擎就是Thymeleaf,这模板引擎是一个高级语言的模板引擎,他的这个语法更简单,而且功能更强大

2.1特点
(1)thymeleaf模板引擎既能用于web环境下,也能用于非web环境下,在非web环境下,它能直接显示模板上的静态数据,在web环境下,它能像jsp一样从后台接收数据并替换掉模板上的静态数据。

(2)thymeleaf是基于html的,以html标签为载体,thymeleaf要寄托在html的标签下实现对数据的展示。

2.2使用
Thymeleaf的使用非常简单,只需要把我们的html页面放在类路径下的templates下,thymeleaf就可以帮我们自动渲染了。

(1)导入依赖

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

 

spring-boot-starter-thymeleaf会自动包含spring-boot-starter-web,所以我们就不需要单独引入web依赖了。 

 


(2)在resources下建立一个目录templates

 

 

 test.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
一心同学
</body>
</html>
复制代码

编写controller;

复制代码
package com.yixin.demo.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class MyController {
    @RequestMapping("/test")
    public String test1(){
        return "test";
    }
}
复制代码

官网:Thymeleaf

常见的语法

${}: 标准变量表达式
选择变量表达式 *{} 和 th:object
链接(URL)表达式 和 th:href
th标签之th:action
th标签之th:each
th标签之th:switch/th:case
前提:

导入thymeleaf的名称空间

<html lang="en" xmlns:th="http://www.thymeleaf.org">
————————————————

 


原文链接:https://blog.csdn.net/Huang_ZX_259/article/details/122149393

 

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-03-18 Robot Framework 自动化测试框架
2014-03-18 Linux 统计文件夹下文件个数
2013-03-18 jquery选择器返回数组处理
2013-03-18 LR分析
2013-03-18 eclipse打开当前文件所在文件夹的两种方法
2013-03-18 编译原理---递归下降分析法
2012-03-18 c++ string::size详解
点击右上角即可分享
微信分享提示