SpringBoot中thymeleaf模板引擎

Spring Boot——Thymeleaf 以上就是【】对Thymeleaf的知识点和基本使用的讲解了,对于Thymeleaf这个模板引擎,说实话还是非常好用的,甚至个人觉得比jsp还强大,大家也可以自己亲手敲一遍代码,这样对知识的巩固有很大帮助,如果文章中有哪些地方讲得不是很好,欢迎大家提出来,让我们共同进步。先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。... 阅读详情

thymeleaf模板解析

(一)模板引擎概述

thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP, Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比,Thymeleaf最大的特点是能够
直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用

Spring Boot推荐使用Thymeleaf、Freemarker等现代的模板引擎技术;一但导入相
关依赖,会自动配置ThymeleafAutoConfiguration、FreeMarkerAutoConfiguration。

模板引擎工作原理图:

在这里插入图片描述

(二)SpringBoot使用thymeleaf 入门案例

1 构建maven工程引入技术依赖

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

2 在application.yml当中添加配置

spring:   
   #开始thymeleaf设置
   thymeleaf:   
   #禁用模板缓存 
     cache: false

3 编写Controller文件

@Controller
@RequestMapping("/index")
public class IndexController {

    @RequestMapping("/get")
    public String getIndex(Model model){
        model.addAttribute("msg","欢迎打开首页~~");
        return "index";
    }
}

4 编写模板文件

在resources/templates 下新建 index.html

通过 类似EL 表达式将 Model 中的数据填充到 h1 标签中

<!DOCTYPE html>
<!--  引入命名空间 -->
<html lang="en" xmlns:th="http://www.thymeleaf.org" >
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  把request域中的值传到页面h1标签中  -->
    <h1 th:text="${msg}">----</h1>
</body>
</html>

5 运行访问地址 http://localhost:8080/index/get

在这里插入图片描述

Thymeleaf 语法简介

在这里插入图片描述

使用thymeleaf模板进行数据交互

1、修改标签文本

controller中方法

@RequestMapping("/text")
public String text(Model model){
    model.addAttribute("msg","文本信息~~&nbsp;");
    return "text";
}

html页面

  • th:text 转义特殊字符
  • th:utext 不转义特殊字符
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1 th:text="${msg}"></h1>
    <h1 th:utext="${msg}"></h1>
</body>
</html>

效果

在这里插入图片描述

2、打印对象属性

创建是个对象 User 生成get、set方法

public class User {
    private Integer id;
    private String name;
    private int age;
}

controller层调用方法,模拟数据

图片在resources/resources/images/目录下

@RequestMapping("/bean")
public String bean(Model model){
    // 把对象存入request域
    User user = new User();
    user.setId(1);
    user.setName("张三");
    user.setAge(23);
    model.addAttribute("user",user);

    // 利用Map集合 把图片存入request域
    Map<String, Object> map = new HashMap<>();
    map.put("pic","/images/mysql.jpg");
    model.addAttribute("map",map);
    return "user";
}

html页面信息

  • th:src 修改指定属性默认值
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1 th:text="${user.id}"></h1>
    <h1 th:text="${user.name}"></h1>
    <h1 th:text="${user.age}"></h1>

<!--  th:src  修改指定属性默认值  -->
    <img th:src="${map.pic}" width="100" height="100">
</body>
</html>

效果

在这里插入图片描述

3、循环遍历集合

controller层调用方法,模拟数据

@RequestMapping("/list")
public String list(Model model){
    ArrayList<Object> list = new ArrayList<>();
    list.add(new User(1,"张三",23));
    list.add(new User(2,"李四",24));
    list.add(new User(3,"王五",25));
    list.add(new User(4,"赵六",26));
    list.add(new User(5,"周七",27));
    model.addAttribute("list",list);
    return "list";
}

html页面回显

  • th:each 遍历

iterStat 称作状态变量,属性有:

  • index:当前迭代对象的 index(从 0 开始计算)

  • count:当前迭代对象的 index(从 1 开始计算)

  • size:被迭代对象的大小

  • current:当前迭代变量

  • even/odd:布尔值,当前循环是否是偶数/奇数(从 0 开始计算)

  • first:布尔值,当前循环是否是第一个

  • last:布尔值,当前循环是否是最后一个

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <table border="1">
        <tr>
            <td>序号</td>
            <td>id</td>
            <td>姓名</td>
            <td>年龄</td>
        </tr>

<!--     user-回显集合中的元素  iterStat-称作状态变量  ${list}--取出的集合   -->
        <tr th:each="user,iterStat :${list}">
            <td th:text="${iterStat.count}">序号</td>
            <td th:text="${user.id}">id</td>
            <td th:text="${user.name}">姓名</td>
            <td th:text="${user.age}">年龄</td>
        </tr>
    </table>
</body>
</html>

效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L2ihUPyV-1657027898200)(E:\Java资料\笔记整理\JavaUp\笔记整理\SpringBoot中thymeleaf模板引擎.assets\image-20220618001519483.png)]

4、字符串的拼接以及超链接

controller层调用方法

@RequestMapping("/demo")
public String demo(Model model){
   model.addAttribute("user","用户1");
   model.addAttribute("href","https://www.baidu.com/");
   model.addAttribute("username","百度");
    return "demo";
}

html页面

  • th:href
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  超链接  -->
  <a th:href="${href}" th:text="${username}"></a>

<!--  字符串拼接  -->
      <h1 th:text="'欢迎:'+${user}+' 登录成功'"></h1>
      <h1 th:text="|欢迎:${user}登录成功|"></h1>
</body>
</html>

效果

在这里插入图片描述

5、条件判断、选择语句

controller方法

@RequestMapping("/judge")
public String judge(Model model){
    model.addAttribute("flag","yes");
    model.addAttribute("admin","zhangsan");
    model.addAttribute("username","lisi");
    return "judge";
}

html页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!-- th:if 条件成立时 显示  -->
        <h1 th:if="${flag=='yes'}">th:if 条件成立时 显示 </h1>
<!-- th:unless 条件成立时 显示  -->
        <h1 th:unless="${flag=='no'}">th:unless 条件成立时 显示</h1>
<!-- switch 选择语句 -->
    <div th:switch="${admin}">
        <p th:case="'zhangsan'">显示1</p>
        <p th:case="${username}">显示2</p>
    </div>

</body>
</html>

效果

在这里插入图片描述

6、片段fragment定义使用

controller方法

@RequestMapping("/fragment")
public String fragment(Model model){
    return "fragment";
}

html页面

  • tags.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
        <h1 th:fragment="top">头部信息</h1>
        <h1 th:fragment="tig">身体信息</h1>
        <h1 th:fragment="footer">尾部信息</h1>

</body>
</html>
  • fragment.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  th:insert 把片段的内容 插入到当前的位置  -->
    <div style="color: #82ff6c" th:insert="~{tags :: top}"></div><br>
<!--  th:replace 把片段的内容(附带标签) 替换到当前的标签  -->
    <div style="color: #82ff6c" th:replace="~{tags :: tig}"></div><br>
<!--  th:include 保留自己的主标签 不要片段中的标签,直接把内容拿过来  -->
    <div style="color: #82ff6c" th:include="~{tags :: footer}"></div><br>

</body>
</html>

效果

在这里插入图片描述

  • 页面源代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--  th:insert 把片段的内容 插入到当前的位置  -->
    <div style="color: #82ff6c"><h1>头部信息</h1></div><br>
<!--  th:replace 把片段的内容 替换到当前的标签  -->
    <h1>身体信息</h1><br>
<!--  th:include 保留自己的主标签 不要片段中的标签,直接把内容拿过来  -->
    <div style="color: #82ff6c">尾部信息</div><br>

</body>
</html>

7、表达式内置对象使用

  • #dates 与java.util.Date对象的方法对应,格式化、日期组件抽取等等
  • #numbers 格式化数字对象的工具方法
  • #strings 与java.lang.String对应的工具方法

controller方法

@RequestMapping("/neibean")
public String neibean(Model model){

    //日期时间
    Date date = new Date();
    model.addAttribute("date", date);
    //小数的金额
    double price=128.5678D;
    model.addAttribute("price", price);

    //定义大文本数据
    String str="Thymeleaf是Web和独立环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本。\r\n" +
            "Thymeleaf的主要目标是提供一种优雅和高度可维护的创建模板的方式。为了实现这一点,它建立在自然模板的概念上,将其逻辑注入到模板文件中,不会影响模板被用作设计原型。这改善了设计的沟通,弥补了设计和开发团队之间的差距。\r\n" +
            "Thymeleaf也从一开始就设计了Web标准 - 特别是HTML5 - 允许您创建完全验证的模板,如果这是您需要的\r\n" ;
    model.addAttribute("strText", str);
    //定义字符串
    String str2="JAVA-offcn";
    model.addAttribute("str2", str2);

    return "neibean";
}

html页面

  • 格式化日期: #dates.format(日期名称(request域中),格式化的格式)
  • 格式化数字: #numbers.formatDecimal(数字名称(request域中),整数最少多少位,小数保留多少位)
  • 格式化字符串:#strings.abbreviate(字符串名称(request域中),最首位开始展示多少位)
  • 截取字符串 指定长度 :#strings.substring(字符串名称,起始位,截至位)
  • 判断字符串是否为空 :#strings.isEmpty(字符串名称)
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- 格式化日期: #dates.format(日期名称(request域中),格式化的格式) -->
    时间:<span th:text="${#dates.format(date,'yyyy-MM-dd,HH-mm-ss')}"></span> <br>

<!-- 格式化数字: #numbers.formatDecimal(数字名称(request域中),整数最少多少位,小数保留多少位) -->
    金额:<span th:text="${#numbers.formatDecimal(price,1,2)}"></span> <br>

<!-- 格式化字符串:#strings.abbreviate(字符串名称(request域中),最首位开始展示多少位)  -->
    介绍:<span th:text="${#strings.abbreviate(strText,40)}"></span> <br>

<!-- 判断字符串是否为空 :#strings.isEmpty(字符串名称) -->
    <span th:if="${!#strings.isEmpty(str2)}">字符串str2不为空</span>  <br>
<!-- 截取字符串 指定长度 :#strings.substring(字符串名称,起始位,截至位)-->
    <span th:text="${#strings.substring(str2,0,4)}">字符串str2的值</span>
</body>
</html>

效果

在这里插入图片描述

8、定义方法

<dd th:each="value:${spec.attributeValue}">
    <a href="javascript:;"
       th:v-bind:class="|{selected:isSelected('${spec.attributeName}','${value}')}|"
       th:@click="|clickSpecValue('${spec.attributeName}','${value}')|"
       th:text="${value}"
    >
    </a>
</dd>
<script th:inline="javascript">
    var item = new Vue({
        el: '#app',
        data: {
            // 将itemList模板数据 转为 vue对象
            skuList: [[${itemList}]],
            sku: {}, // 当前页面展示的 sku数据 (title 和 price)
            spec: {}   // 当前用户选择的规格
        },
        // 页面初始化调用的方法
        created: function(){
            // 当前页面渲染完成之后,将 itemList 中的第一个元素作为默认展示的元素
            this.sku = this.skuList[0];
            //console.log(typeof this.skuList[0].spec);
            this.spec = JSON.parse(this.skuList[0].spec);
        },
        methods: {
            isSelected: function(specName,specValue){
                if(this.spec[specName] == specValue){
                    return true;
                }else{
                    return false;
                }
            },
            clickSpecValue: function(specName,specValue){
                // 记录当前用户选择的规格和规格选项
                this.$set(this.spec,specName,specValue);
                // 需要skuList中的每个item对象的spec属性和 this.spec 匹配
                for(var i = 0; i < this.skuList.length; i++){
                    if(this.equalsObj(this.spec,JSON.parse(this.skuList[i].spec))){
                        this.sku = this.skuList[i];
                    }
                }

            },
            equalsObj: function(obj1,obj2){
                // 遍历obj1中的属性
                for(var pro in obj1){
                    if(obj1[pro] != obj2[pro]){
                        return false;
                    }
                }
                return true;
            }
        }
    })
</script>
SpringBoot系列:Spring Boot使用模板引擎FreeMarker 可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源。 阅读详情

相关推荐

【SpringBoot】3、SpringBoot中整合Thymeleaf模板引擎

SpringBoot 为我们提供了 Thymeleaf 自动化配置解决方案,所以我们在 SpringBoot 中使用 Thymeleaf 非常方便 一、简介 Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发,模板引擎是一个技术名词,是跨领域跨平台的概念,在Java语言体系下有模板引擎,在C#、PHP语言体系下也有模板引擎。除了thymeleaf之外还有Velocity、Fr...

JACKAL 21万+

SpringBoot的模板引擎

springboot是通过jar包的方式打包数据,不是war包,而且是嵌入式的tomcat,不支持jsp页面,但我们不能通过静态页面来写项目,我们的后台传过来的数据就不能c:forch,c:if等进行数据处理 模板引擎:jsp、velocity、Freemaker、Thymeleaf 虽然种类很多,但是他们的工作原理是一样的,都是讲模板和数据整合,通过模板引擎进行处理后输出到页面。 springboot推荐使用Thymeleaf:语法简单,功能强大; <!--引入模板引擎--> ...

lb812383331的专栏 1343

springboot项目实战-使用thymeleaf模板引擎

Spring Boot对Web开发流程提供完整的支持,包括从前端到后台的开发,再到数据库的操作。使用Spring Boot开发Web工程有两种类型:前后端完全分离。这种方式是前端开发者和后端开发者完全分离地进行项目的开发,最后完成前后端的接口对接,这是目前国内一种流行的开发方式。前端负责页面的开发并调用后端接口展示数据,后端只负责提供API接口。使用Spring Boot自带的模板。这种方式适用于小型项目或者全栈开发人员,一般可以选择的模板包括Freemaker和Thymeleaf等。

虾米大王的学习历程 1079

Spring Boot中的模板引擎选择与配置

模板引擎是生成动态网页的关键组件,在Spring Boot中,我们有多种模板引擎可以选择,如Thymeleaf、FreeMarker和Mustache。本文介绍了Spring Boot中常用的三种模板引擎:Thymeleaf、FreeMarker和Mustache,并提供了详细的配置和使用示例。Mustache是一款轻量级的模板引擎,适合需要简单模板的应用。模板引擎用于将数据与模板结合,生成动态的HTML内容。每种模板引擎都有其优点和适用场景,根据项目的具体需求进行选择和配置,才能更好地发挥它们的优势。

微赚开发者技术分享博客 1779

AI 代码生成工具的质量评估体系

基础需求层包括响应速度(Response Time)和界面友好性(UI Friendliness),期望需求层涵盖智能提示(Smart Suggestions)和个性化配置(Personalization),兴奋需求层则涉及多模态交互(Multimodal Interaction)和代码进化(Code Evolution)。在金融领域,代码审计合规性(Compliance Audit)权重应提升至40%,而在Web开发中,API兼容性(API Compatibility)的权重需达到35%。

2503_92418637的博客 3375

海康视觉通讯配置

本文介绍了海康通讯管理中TCP和Modbus协议的配置方法。TCP通讯时,视觉系统作为服务器接收PLC客户端发送的触发信号,需注意十进制与十六进制字符串的转换。Modbus配置需填写PLC的IP地址和寄存器首地址,并预先定义整型变量。TCP通讯需开启16进制发送模式以避免数据格式问题。文章重点说明了不同通讯方式下的数据格式转换和参数设置要点。

A567852的博客 2243

Spring Boot 中的模板引擎是什么,如何使用

本文介绍了 Spring Boot 中常用的模板引擎 Thymeleaf 的使用方法,包括如何配置、如何使用模板、如何传递数据等。Thymeleaf 是一款功能强大、易于上手的模板引擎,它提供了简单的语法和丰富的标签库,让我们可以轻松地创建动态网页。

Java徐师兄的博客 2310

2021-8-14 EDK II编译

2021-8-14 EDK II 编译为什么要写这篇文章新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 为什么要写这篇文章 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdo

qq_45775660的博客 2948

SpringBoot2-[模板引擎-Thymeleaf]

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟 🌈擅长领域:Java、大数据、运维、电子 🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!! 🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!! 文章目录模板引擎-Thymeleaf1、**表达式****2、字面量****3、文本操作****4、数学运算****5、布尔运算****6、比较运算****7、..

芝士味椒盐的博客 5739

RTKLIB PPP与RTK_POST精密定位实战:从实时到事后处理的完整流程解析

本文详细解析了如何使用RTKLIB进行精密单点定位(PPP)的完整流程,涵盖从实时处理到事后处理(RTK_POST)的关键步骤。文章深入探讨了数据准备、软件配置、核心参数设置(如电离层、对流层、潮汐改正)以及常见问题排查,旨在帮助用户掌握高精度GNSS定位技术,实现从入门到精通的实战应用。

weixin_29047919的博客 279

深入解析PCIe Retimer:工作原理与典型应用场景

本文深入解析了PCIe Retimer的工作原理与核心价值。作为高速信号的中继再生器,Retimer通过时钟数据恢复和信号再生技术,有效解决长距离或复杂通道中的信号衰减与完整性问题,从而极大地扩展了PCIe链路的有效传输距离。文章详细阐述了其内部架构、自动与手动两种工作模式,并重点介绍了在长距离板间互连、复杂背板设计等典型应用场景中的关键作用。

weixin_29195615的博客 507

【SpringBoot】| Thymeleaf 模板引擎

【SpringBoot】| Thymeleaf 模板引擎

m0_61933976的博客 6853

【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法

【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法

jks212454的博客 2308

SpringBoot系列:Spring Boot使用模板引擎Thymeleaf

一、Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。 在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、Velocity等。 虽然随着前后端分离的崛起和流行,模板引擎已遭受到冷落,但不少旧项目依然使用java的模板引擎渲染界面,而偶...

Simple_Yangger的博客 877

自动化上位机开发C#100例:如何用面向对象的方式封装雷赛运动控制卡EtherCAT总线卡(C#代码)

自动化上位机开发C#100例:雷赛运动控制卡EtherCAT总线卡C#封装类。

十多年IT经验,专注机器视觉,智能制造半导体行业 5033

使用 Python 爬取 Wikipedia 数据:抓取百科条目及其内容

维基百科的 API 提供了一些方便的接口,通过这些接口,我们可以轻松获取到维基百科的条目、类别、图片和其他相关信息。维基百科的 API 主要是基于 HTTP 请求的,通过向特定的 URL 发送 GET 请求来获取信息。:获取指定条目的内容。在本博客中,我们介绍了如何使用 Python 爬取维基百科的条目数据。通过使用 Wikipedia API 和网页抓取技术,我们能够高效地获取条目内容,并将其存储和分析。希望本篇教程能帮助你深入理解如何抓取和处理维基百科的数据。

2201_76125261的博客 476

SpringBoot——模板引擎的介绍、thymeleaf模板引擎

目录 一、模板引擎 二、Thymeleaf的导入 三、Thymeleaf分析 四、使用Thymeleaf简单测试 五、Thymeleaf 语法 六、简单练习 一、模板引擎 跳转到目录 前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据 转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。 jsp支持非常强大...

Guizy 2255

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java实战:Spring Boot中集成Thymeleaf模板引擎

本文将详细介绍如何在Spring Boot应用程序中集成Thymeleaf模板引擎

oandy0的博客 2145

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

04 Spring Boot整合 Thymeleaf模板引擎

Thymeleaf 是一个优秀的、面向Java 的XML庆HTML/HTML5 页面模板,具有丰富的标签语言和函数。因此,在使用Spring Boot 框架进行页面设计时, 一般都会选择Thymeleaf 模板。 关于Thymeleaf,可到官方网站学习:https://www.thymeleaf.org/documentation.html 常用的表达式、标签和函数如下: 常用表达式: ${}...

数据知道的博客 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

十、Spring Boot集成Thymeleaf模板引擎

ThymeleafThymeleaf 是适用于 Web 和独立环境的现代服务器端 Java 模板引擎。Thymeleaf 的主要目标是为您的开发工作流程带来优雅的自然模板 - 可以在浏览器中正确显示的HTML,也可以用作静态原型,从而在开发团队中实现更强大的协作。传统的 JSP+JSTL 组合是已经过去了,Thymeleaf 是现代服务端的模板引擎,与传统的 JSP 不同,Thymeleaf支持 html 原型。

weixin_51996255的博客 1177

Spring Boot集成Thymeleaf模板引擎

Thymeleaf 在 Spring Boot 中使用非常广泛,本节课主要分析了 thymeleaf 的优点,以及如何在 Spring Boot 中集成并使用 thymeleaf 模板,包括依赖、配置,相关数据的获取、以及一些注意事项等等。最后列举了一些 thymeleaf 中常用的标签,在实际项目中多使用,多查阅就能熟练掌握,thymeleaf 中的一些标签或者方法不用死记硬背,用到什么去查阅什么,关键是要会在 Spring Boot 中集成,用的多了就熟能生巧。

小新的博客 329

SpringBoot入门(四)(Spring Boot使用Thymeleaf模板引擎渲染web视图)

学习地址:http://blog.didispace.com/springbootweb/静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/META-INF/resources举例:我们可以在src/main/r...

weixin_38946418的博客 1342

Spring Boot——整合 Thymeleaf模板引擎

文章目录Spring Boot——Thymeleaf模板引擎1、什么是Thymeleaf2、什么是模板引擎3、Thymeleaf的简单测试4、语法使用4.1、命名空间4.2、简单表达式 Spring Boot——Thymeleaf模板引擎 1、什么是Thymeleaf **Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发,可以作为mvc的web应用的view层。**它是一个开源的Java库,基于Apache License 2.0许可,由Daniel F

万里顾一程的博客 797

JAVA springboot-07 Thymeleaf 模板引擎

前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。 jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。

淡若清风 292

SpringBoot08-Thymeleaf模板引擎

然后把这个模板和这个数据交给我们模板引擎,模板引擎按照我们这个数据帮你把这表达式解析、填充到我们指定的位置,然后把这个数据最终生成一个我们想要的内容给我们写出去,这就是我们这个模板引擎,不管是jsp还是其他模板引擎,都是这个思想。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。我们呢,就来看一下这个模板引擎,那既然要看这个模板引擎。

xzh202206的博客 1177

Spring Boot(六)springboot模板引擎——Thymeleaf

一、Thymeleaf简介   Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发 模板引擎是一个技术名词,是跨领域跨平台的概念,在 Java 语言体系下有模板引擎,在 C#、PHP 语言体系下也有模板引擎,甚至在 JavaScript 中也会用到模板引擎技术,Java 生态下的模板引擎有 Thymeleaf 、Freemaker、Velocity、Beetl(国产) 等。   Thymeleaf 对网络环境不存在严格的要求,既能用于 Web 环境下,也能用于非 Web 环境下。在

krain的博客 514
上一篇: 如何在springboot中应用C3P0数据源?
下一篇: springboot_拦截器配置
皮卡丘不断更
博客等级 码龄5年 111粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

皮卡丘不断更

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

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

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

打赏作者

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

抵扣说明:

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

余额充值