springboot 2.1 实践教程(九)-Thymeleaf模板引擎语法介绍

课程4_Spring Boot模版引擎和模版语法 3.3 Spring Boot模版引擎调用 模板引擎,是用来生成动态网页内容的,一旦控制器(Controller)收集了足够的数据,就会把数据交给模板引擎来处理,模板引擎根据数据生成HTML,返回给浏览器。 Spring Boot支持多种模板引擎,包括FreeMarker、Thymeleaf、Mustache和Groovy Templates。Spring Boot中不推荐使用jsp,Thymeleaf现在被很多人采用,它的特点就是可以直接在浏览器中打开模板文件,方便前端开发。这里选用Thym... 阅读详情

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

Thymeleaf的主要目标是让你的开发工作流程变得更简洁,更高效,可以在浏览器正确的显示HTML;它可以将你的后台数据渲染至前端页面。

与Thymeleaf同类的产品包括:Jsp、Freemarker、Beetle等。但是Thymeleaf是Spring Boot 官方推荐的,所以学习它是没错的。

  • 初识Thymeleaf

可以看到用 Thymeleaf编写的HTML模板看起来和HTML一样。Thymeleaf拥有自己的标签 th:xx

<table>
  <thead>
    <tr>
      <th th:text="#{msgs.headers.name}">Name</th>
      <th th:text="#{msgs.headers.price}">Price</th>
    </tr>
  </thead>
  <tbody>
    <tr th:each="prod: ${allProducts}">
      <td th:text="${prod.name}">Oranges</td>
      <td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99</td>
    </tr>
  </tbody>
</table>

 

 

通过这张图我们可以看到,数据是从后台封装好,传给前台,前台通过Thymeleaf模板引擎标签渲染到前台页面展示数据。

 

Spring Boot 与Thymeleaf整合
 

下面是整合的步骤

1.引入Thymeleaf的Jar包spring-boot-starter-thymeleaf

pom.xml内容如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.learn</groupId>
    <artifactId>learn8</artifactId>
    <version>1.0-SNAPSHOT</version>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>


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


    </dependencies>
    
</project>

2.配置Thymeleaf的相关属性

在application.yml中增加如下内容
 

spring:
  # 模板引擎
  thymeleaf:
    mode: HTML
    encoding: utf-8
    # 禁用缓存
    cache: false

到此我们的Spring Boot就与Thymeleaf愉快的整合好了。

我们可以看下引入的相关包,使用的模板引擎是3.0版本的,当前的最新版本

下面开启我们Thymeleaf的使用吧!

我们写一个最简单的例子,需求是:后台处理数据将数据显示在前台页面中。

创建Controller类生成数据并向前台传递
 

ThymeleafTestController
 

package org.learn.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class ThymeleafController {

    @GetMapping("/ThymeleafPage")
    public String ThymeleafPage(Model model){

        model.addAttribute("hello","hello,thymeleaf");

        return "thymeleafdemo";
    }
}

  • 在resources/templates目录下创建对应的html页面。
     

    注意:Spring Boot 默认规定是将动态的模板引擎页面放至resources/templates目录下,系统会在该目录下查找对应的文件!

    thymeleafdemo.html

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Thymeleaf介绍</title>
    </head>
    <body>
    
    <span th:text="${hello}"></span>
    
    </body>
    </html>

    页面上我们做了如下的事情

    1.增加<html xmlns:th="http://www.thymeleaf.org">来识别thymeleaf标签

    2.输出后台的值,通过th:text="${hello}"

    访问 http://localhost:8080/ThymeleafPage

    页面返回的结果如下图

以上就是一个简单的Spring Boot 整合Thymeleaf的例子,简单的从后台将数据输出到前台页面当中。

 

下面我们介绍一些常用的thymeleaf标签

 

  1. 从本地化文件(message.properties)获取值

当我们在项目中创建了message.properties文件,并将文件中内容在页面显示时

weclome=欢迎

我们需要在页面中使用 th:text="#{weclome}" 注意是用“#”

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

<span th:text="${hello}"></span>
<br/>
<!--#{weclome}读取message.properties中相应的属性-->
<h2 th:text="#{weclome}"></h2>
</body>
</html>

 

2.链接标签 - th:href标签的使用

th:href写法为th:href="@{值}"

<span >th:href标签的使用</span>
<a th:href="@{/thymeleaf/testHref}">这是一个链接</a>

该链接的地址就会是 localhost:8080/thymeleaf/testHref

当页面加载css时通过th:href引用,比如

<link th:href="@{/css/style.css}" rel="stylesheet"/>

 当引用css这种静态资源时使用th:href标签,系统会默认路径是从resources/static下查找,所以我们的style.css样式是放在该目录下的,该样式的完整请求路径是localhost:8080/css/styles.css

3.src示例:th:src标签

此标签用于引入js,img等静态资源,使用方法如下

<script type="text/javascript" th:src="@{/plugins/jquery/jquery-3.2.1.min.js}"></script>

 

4.条件判断 th:if

Thymeleaft条件判断表达式如下:

gt:great than(大于)>
ge:great equal(大于等于)>=
eq:equal(等于)==
lt:less than(小于)<
le:less equal(小于等于)<=
ne:not equal(不等于)!=

如果personBean.age大于10 则显示该div

<div th:if="${personBean.age}gt 5">
条件成立,执行该div
</div>

 

5.循环  th:each

th:each属性用于迭代循环,语法:th:each="obj,iterStat:${objList}"

迭代对象可以是Java.util.List,java.util.Map,数组等;

iterStat称作状态变量,属性有:(可忽略)

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

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

size:被迭代对象的大小

current:当前迭代变量

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

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

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

6.格式化输出(内置方法)

Thymeleaf提供了一些内置的格式化输出的标签,方便对显示的数据进行格式化处理。

  • dates : java.util.Date的功能方法类。
  • calendars : 类似#dates,面向java.util.Calendar
  • numbers : 格式化数字的功能方法类
  • strings : 字符串对象的功能类,contains,startWiths,prepending/appending等等。
  • objects: 对objects的功能类操作。
  • bools: 对布尔值求值的功能方法。
  • arrays:对数组的功能类方法。
  • lists: 对lists功能类方法
  • sets
  • maps
<span>格式化輸出(內置方法)</span><br/>
字符串长度:<input type="text" th:value="${#strings.length(personBean.name)}"/>

7.引用公共片段 (th:fragment,th:insert)

使用场景:

1.一些公共的页面元素,比如我们在项目中几乎每个页面都有底部的版权信息、网站相关信息的介绍,那么我们可以把这部门内容放在一个页面当中,其他页面需要引用的则直接通过th:inser标签引用该片段。

2.一些公共的静态样式和js也可以放置一个公共页面,需要调用的页面直接引用片段就可以,这样的好处是不需要在每个页面重复一些公共资源获取的代码,便于维护。

我们可以先创建一个片段,新建一个页面foot.html,内容如下

th:fragment标签用于声明一个片段。

<div th:fragment="bottom">
   <div>版权信息,备案号:XXXXXX</div>
</div>

在hello.html页面引入该片段,引入片段的方式

<div th:insert="foot :: bottom"></div>

 

运行程序结果如下,红框的内容就是从片段中引入过来的

 

 

以下是本章节是所有讲到的标签实例代码,也可以去我的码云上下载源码,点击此处下载源码

 ThymeleafController

package org.learn.controller;

import org.learn.bean.PersonBean;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.ArrayList;
import java.util.List;

@Controller
public class ThymeleafController {

    @GetMapping("/ThymeleafPage")
    public String ThymeleafPage(Model model){
        PersonBean personBean = new PersonBean();
        personBean.setName("hello");
        personBean.setPassword("password");
        personBean.setAddress("my address");
        personBean.setAge(10);

        List<PersonBean> personsList = new ArrayList<>();

        personsList.add(personBean);
        PersonBean personBean2 = new PersonBean();

        personBean2.setName("hello2");
        personBean2.setPassword("password2");
        personBean2.setAddress("my address2");
        personBean2.setAge(11);
        personsList.add(personBean2);

        PersonBean personBean3 = new PersonBean();

        personBean3.setName("hello3");
        personBean3.setPassword("password3");
        personBean3.setAddress("my address3");
        personBean3.setAge(12);
        personsList.add(personBean3);

        model.addAttribute("personBean",personBean); //Bean

        model.addAttribute("personsList",personsList);  //List


        model.addAttribute("hello","hello,thymeleaf");  //String

        return "thymeleafdemo";
    }
}

PersonBean

package org.learn.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix="person")
public class PersonBean {

    private String name;
    private String password;
    private String address;
    private Integer age;


    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getName() {
        return name;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getAge() {
        return age;
    }

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

 

thymeleafdemo.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Thymeleaf介绍</title>

    <link th:href="@{/css/style.css}" rel="stylesheet"/>
</head>
<body>

<span th:text="${hello}"></span>
<br/>
<!--#{weclome}读取message.properties中相应的属性-->
<h2 th:text="#{weclome}"></h2>
<br/>

<br/>
<br/>
<span>th:if条件表达式</span>
<br/>
<div th:if="${personBean.age}gt 5">
条件成立,执行该div
</div>

<br/>
<br/>
<br/>
<ol>
    <li>List循环:
        <table border="1">
            <tr>
                <th>用户名</th>
                <th>密碼</th>
                <th>地址</th>
                <th>年齡</th>

            </tr>
            <tr  th:each="person : ${personsList}">
                <td th:text="${person.name}"></td>
                <td th:text="${person.password}"></td>
                <td th:text="${person.address}"></td>
                <th th:text="${person.age}"></th>
            </tr>
        </table>
    </li>
</ol>
<br/>
<br/>
<br/>
<span>格式化輸出(內置方法)</span><br/>
字符串长度:<input type="text" th:value="${#strings.length(personBean.name)}"/>

<br/>
<br/>
<br/>
<span >th:href标签的使用</span>
<a th:href="@{/thymeleaf/testHref}">这是一个链接</a>
<br/>
<br/>
<br/>
引入片段信息
<div th:insert="foot :: bottom"></div>


</body>

<script type="text/javascript" th:src="@{/plugins/jquery/jquery-3.2.1.min.js}"></script>
</html>

foot.html

<div th:fragment="bottom">
   <div>版权信息,备案号:XXXXXX</div>
</div>

 

页面输出结果:

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

相关推荐

PADS Layout差分对布线实战:从规则设置到高速信号优化

本文详细讲解了在PADS Layout中进行差分对布线的完整实战流程。从在Layout中定义差分对网络,到进入Router配置线宽、间距等关键规则,再到布线实战技巧与高速信号完整性优化,系统阐述了如何确保差分信号(如USB、HDMI)的稳定传输,是高速PCB设计的核心技能。

weixin_29274969的博客 520

Spring Boot:(7)集成 Thymeleaf 模板

Spring Boot: 集成 Thymeleaf 模板

JUST_也 220

Win10下YOLOv8环境搭建避坑指南:从CUDA 11.6到cuDNN配置全流程

本文详细介绍了在Windows 10系统下搭建YOLOv8环境的完整流程,包括CUDA 11.6和cuDNN的配置步骤,以及常见问题的解决方案。通过硬件准备、软件安装、环境验证和性能优化等环节,帮助开发者高效完成YOLOv8环境配置,提升目标检测项目的开发效率。

defi6farmer的博客 223

springboot之模板

springboot之template一、freemarker二级目录三级目录 一、freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 注1:springboot中支持的两种模板技术:thymeleaf/freemarker(默认) 二级目录 三级目录 ...

qq_45547474的博客 1040

手把手教你获取全国街道级GeoJSON数据:前端地图开发必备技巧

本文详细介绍了获取全国街道级GeoJSON数据的多种方法,从前端地图开发的实际需求出发,涵盖了免费获取省市县级数据的工具如阿里云DataV.GeoAtlas和HashTang,以及进阶的街道级数据获取方案,包括使用Bigemap GIS Office和专业数据采购。文章还提供了数据处理与优化技巧,帮助开发者高效使用GeoJSON数据进行地图可视化。

weixin_29053383的博客 288

从配置字到实际运动:手把手教你用EtherCAT调试伺服电机的控制模式(以倍福TwinCAT3为例)

本文详细介绍了如何使用EtherCAT调试伺服电机的控制模式,以倍福TwinCAT3为例。从环境搭建、模式配置到状态机切换,提供了完整的操作指南和典型故障排查方法,帮助工程师快速解决‘配置字写入了但电机不转’等常见问题,提升工业自动化现场的调试效率。

weixin_42783709的博客 419

SpringBoot(详细学习)

SpringBoot注入语法 注入语法

qq_45928727的博客 5771

emwin与Modbus通信结合:项目实例

通过实际项目讲解emwin界面设计与Modbus通信协议的融合应用,深入剖析数据交互流程。掌握emwin在工业控制场景中的实用技巧,提升系统人机交互与稳定通信能力。

weixin_34618526的博客 482

spring boot中thymeleaf配置说明

spring boot中thymeleaf配置说明

qq_45603855的博客 2067

计组实验5:cache大小测量与 cache line 大小测量

前言 今天做了实验5,通过 c 语言测 cache 参数。其实按理来说挺简单的,只是我们班没给代码,纯靠自己。听说别的班有给代码 emm 因为《深入理解计算机系统》这本书上面给的代码是 Linux 平台下的,而且需要一个 fcyc2 头文件,可以在 https://github.com/fabiensanglard/CpuCacheMountainViewer 这里找到。 ⚠ 我没有在 Linux 下试过课本上面的代码。。。 我是在 win10 下测试的。。。 所以 。。。 我并不确定我的代码是否正确。

AKGWSB 's blog 1万+

了解你的GPU:深入探讨AMD SMI

2024年9月17日 作者:Matt Elliott对于使用AMD硬件的系统管理员和高级用户来说,性能优化和高效的资源监控至关重要。AMD系统管理界面命令行工具`amd-smi`正是为了解决这些需求而设计的。amd-smi是一个多功能的命令行工具,专门用于管理和监控AMD硬件,主要侧重于GPU。作为未来取代`rocm-smi`的工具,`amd-smi`有望成为跨广泛设备的AMD硬件管理的主要工具。

数字人生 4518

狂神说SpringBoot11:Thymeleaf模板引擎

狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习。未经作者授权,禁止转载Thymeleaf模板引擎前端交给我们的页面,是...

狂神说 1万+

《无线传感网络 matlab》:从入门到实践

这就是如何使用Matlab建立一个简单的无线传感网络并进行仿真的方法。当然,这只是一个入门级的示例,真正的无线传感网络可能会更加复杂和庞大。首先,我们需要创建一个无线传感网络的基础结构。接下来,我们需要定义一个数据包的格式,以便节点之间可以交换信息。无线传感网络是一种由无线传感器节点组成的、自组织的网络。现在,我们可以开始编写节点代码了。我们将使用Matlab提供的工具箱来构建一个简单的无线传感网络,并对其进行仿真和分析。现在,我们可以将这个节点复制9次,以创建一个包含10个节点的无线传感网络。

NoerrorCode的博客 296

SpringBoot2-[模板引擎-Thymeleaf]

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

芝士味椒盐的博客 5739

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【SpringBoot】| Thymeleaf 模板引擎

【SpringBoot】| Thymeleaf 模板引擎

m0_61933976的博客 6848

SpringBoot-web开发(三): 模板引擎Thymeleaf

目录1. 引入2. 什么是模板引擎?3. Thymeleaf1. 简介2. 导入Thymeleaf3. 使用Thymeleaf4. 简单测试5. thymeleaf语法1、th属性2、标准表达式语法 本文主要介绍SpringBoot给我们推荐的Thymeleaf模板引擎,这是一个高级语言的模板引擎,语法更简单且功能更强大 参考:https://www.jianshu.com/p/7c27c50f24ec 1. 引入 在以前,我们通常将前端交给我们的html页面转成jsp页面,通过jsp轻松实现数据.

欢迎来到 Baret-H 的博客 8473

【❤️SpringBoot模板引擎❤️】——Thymeleaf

目录 模板引擎简介 引入Thymeleaf模板引擎 分析Thymeleaf模板引擎 测试Thymeleaf模板引擎 Thymeleaf入门: thymeleaf语法学习 练习测试 总结: 模板引擎简介 jsp有着强大的功能,能查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示及交互等,包括能写Java代码。但是,SpringBoot首先是以jar的方式,不是war;其次我们的tomcat是嵌入式的,所以现在默认不支持jsp。 如果我们直接用纯静态页面方式,必然会...

龍弟-idea的博客 6308

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

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

Guizy 2255

【Springboot】SpringBoot基础知识及整合Thymeleaf模板引擎

①Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。一、

未来可以改变 2112

Springboot整合Thymeleaf 模板引擎(案例)- 语法详解

Thymeleaf是一个流行的模板引擎,是基于HTML的,语法应用在HTML标签中。该模板引擎采用java语言开发。

qq_60506984的博客 4405

SpringBoot使用Thymeleaf模板引擎

1、认识Thymeleaf SpringBoot主要支持Thymeleaf、Freemarker、Mustache、 Groovy Templates等模板引擎。Thymeleaf可以轻易地与SpringMVC等Web框架进行集成。Thymeleaf语法并不会破坏文档的结构,所以Thymeleaf模板依然是有效的HTML文档。模板还可以被用作工作原型,Thymeleaf会在运行期内替换掉静态值。...

pan_junbiao的博客 7653

SpringBoot3 整合Thymeleaf 模板引擎

Thymeleaf 简介简单说,Thymeleaf是一个流行的模板引擎,是基于HTML的,语法应用在HTML标签中。该模板引擎采用java语言开发。从代码层次上讲:Thymeleaf是一个java类库,他是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层。thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。

Harry的博客 1847

SpringBoot2.X基础教程:SpringBoot整合Thymeleaf

SpringBoot2.X基础教程:SpringBoot整合Thymeleaf

java程序鱼的博客 2776

SpringBoot07:Thymeleaf模板引擎

只需要把html页面放在类路径下的Template下,thymeleaf就可以自动渲染页面了。前端交给我们的页面,是html页面。如果是我们以前开发,需要把它们转成jsp页面;模板引擎的作用就是我们来写一个页面模板,动态值的获取方式是写一些表达式,Spring官方文档:找到我们对应的版本。完结,撒花✿✿ヽ(°▽°)ノ✿·~~~~~~~我们可以在其中看到默认的前缀和后缀!语法学习可以参考官网文档说明。其实jsp就是一个模板引擎。

weixin_44740328的博客 2122

SpringBoot Thymeleaf模板引擎

SpringBoot Thymeleaf模板引擎

小钟不想敲代码 4618

SpringBoot的模板引擎Thymeleaf语法

以前: 前端交给我们的页面,是html,然后我们需要转换成jsp页面,通过转发数据到jsp页面实现数据的渲染显示 在使用SpringBoot项目后: 第一,SpringBoot项目是以jar包的方式而不是war包 第二,SpringBoot采用的是嵌入式的Tomcat而不是外置的,默认不支持jsp 所以SpringBoot推荐我们使用模板引擎,有Thymeleaf、freemarker等 官方网站:https://www.thymeleaf.org/ github网站:https://gi

qq_43891148的博客 466
上一篇: LayUI面板组件动态拼接后,失效的问题解决方案
下一篇: springboot 2.1 实践教程(十)-嵌入式Servlet容器支持
不善^
博客等级 码龄18年 635粉丝 235原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值