SpringBoot整合thymeleaf

这篇具有很好参考价值的文章主要介绍了SpringBoot整合thymeleaf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JavaEE领域有几种常用的模板引擎: Jsp, Thymeleaf, Freemarker, Velocity等.对于前端页面渲染效率来说 JSP 其实还是最快的, Velocity次之.Thymeleaf虽然渲染效率不是很快,但语法比较轻巧.

Thymeleaf 支持html5标准, Thymeleaf页面无需部署到servlet开发到服务器上,以 .html 后缀结尾,可直接通过浏览器就能打开.可完全替代JSP(前后端分离不是很好).

Thymeleaf可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果.(支持html原型,在html标签增加额外的属性来达到 模板+数据 的展示方式).浏览器解锁html时会忽略未定义的标签属性,模板可以静态运行;当有数据返回到页面时,Thymeleaf标签会动态的替换静态内容,使页面动态显示.

Thymeleaf提供标准和spring标准两种方言,可以直接套用模板实现JSTL,OGNL表达式效果.提供spring标准方言和一个与springMVC完美集成的可选模块,可以快速实现表单绑定,属性编辑器,国际化等功能.

快速入门

1.添加依赖

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

2.thymeleaf的配置

spring:
  thymeleaf:
    cache: false
    encoding: utf-8
    mode: HTML5
    suffix: .html
    prefix: classpath:/templates/

3.模板文件所在位置

SpringBoot整合thymeleaf,SpringBoot成神之路,spring boot,后端,java

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Thymeleaf Example</title>
</head>
<body>
<h1 th:text="${message}">Message</h1>
</body>
</html>

最后,用controller去访问

@Controller
public class IndexController {
    @RequestMapping("/")
    public String index(Model model) {
        model.addAttribute("message", "Hello Thymeleaf!");
        return "index";
    }
}

注意,这边要用 @Controller ,不能用 @RestController

启动项目,访问 http://localhost:8080/

SpringBoot整合thymeleaf,SpringBoot成神之路,spring boot,后端,java

更新页面不生效解决

很多用themeleaf的小伙伴,都会发现修改了页面后必须要重启才能生效,还不如jsp呢,简直是技术的倒退!

其实,我们只需要在idea里面设置一下就解决了,网上很多说加这个那个配置的,很多都是胡扯,根本不是那个原因。

看步骤:

SpringBoot整合thymeleaf,SpringBoot成神之路,spring boot,后端,java

点这个

SpringBoot整合thymeleaf,SpringBoot成神之路,spring boot,后端,java

这两个

SpringBoot整合thymeleaf,SpringBoot成神之路,spring boot,后端,java

选择:

On ‘Update’ action: update classes and resources

On frame deactivation: update classes and resources

重启项目,你就会发现修改页面实时更新了,搞定。

thymeleaf常用指令

以下是thymeleaf常用指令的示例,包含前后端代码。

th:text指令:

前端代码:

<h1 th:text="${name}">默认名称</h1>

后端代码:

@GetMapping("/example")  
public String example(@RequestParam String name, Model model) {  
    model.addAttribute("name", name);  
    return "example";  
}

th:text 还可以拼接,有点类似于vue 比如:

<h1 th:text="${message} + ' 哈哈哈'">Message</h1>

SpringBoot整合thymeleaf,SpringBoot成神之路,spring boot,后端,java

th:each指令:

前端代码:

<ul th:each="item : ${items}">  
    <li th:text="${item}"></li>  
</ul>

后端代码:

@GetMapping("/example")  
public String example(Model model) {  
    List<String> items = Arrays.asList("Item 1", "Item 2", "Item 3");  
    model.addAttribute("items", items);  
    return "example";  
}

th:if指令:

前端代码:

<div th:if="${condition}">条件为真时显示</div>

后端代码:

@GetMapping("/example")  
public String example(Model model) {  
    boolean condition = true; // 根据实际情况设置条件值  
    model.addAttribute("condition", condition);  
    return "example";  
}

th:unless指令:

前端代码:

<div th:unless="${condition}">条件为假时显示</div>

后端代码:

@GetMapping("/example")  
public String example(Model model) {  
    boolean condition = false; // 根据实际情况设置条件值  
    model.addAttribute("condition", condition);  
    return "example";  
}

 文章来源地址https://www.toymoban.com/news/detail-683872.html

到了这里,关于SpringBoot整合thymeleaf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    🌕博客x主页:己不由心王道长🌕! 🌎文章说明:spring🌎 ✅系列专栏:spring 🌴本篇内容:对SpringBoot进行一个入门学习及对Thymeleaf模板引擎进行整合(对所需知识点进行选择阅读呀~)🌴 ☕️每日一语:在人生的道路上,即使一切都失去了,只要一息尚存,你就没有丝毫理

    2023年04月23日
    浏览(43)
  • SpringBoot 整合Thymeleaf教程及使用 springboot配合thymeleaf,调用接口不跳转页面只显示文本

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。 目录 一、整合

    2024年02月08日
    浏览(72)
  • idea利用spring框架整合thymeleaf展现数据库数据

    idea初步利用thymeleaf展现列表 上一篇文章简单展现自己写的列表; 这篇文章连接mysql数据库实现数据库数据展现 主要三个文件 controller指定html界面 mapper写数据库sql查询语句 pojo中的user写具体数据库中的表包含哪些字段(这部分最好的方式写出变量名字然后alt+insert自动生成g

    2024年02月05日
    浏览(59)
  • springboot整合security,mybatisPlus,thymeleaf实现登录认证及用户,菜单,角色权限管理

    本系统为springboot整合security,mybatisPlus,thymeleaf实现登录认证及用户,菜单,角色权限管理。页面为极简模式,没有任何渲染。 源码:https://gitee.com/qfp17393120407/spring-boot_thymeleaf 架构截图 此处以用户表为例,其他表数据可在源码获取。 用户表 共用属性 共用属性自动填充配置

    2024年02月07日
    浏览(53)
  • 前端成神之路-CSS(选择器、背景、特性)

    目录 前端成神之路-CSS(选择器、背景、特性) CSS 第二天 1. CSS复合选择器 1.1 后代选择器(重点) 1.2 子元素选择器 1.3 交集选择器 1.4 并集选择器(重点) 测试题 1.5 链接伪类选择器(重点) 1.6 复合选择器总结 2. 标签显示模式(display)重点 2.1 什么是标签显示模式 2.2 块级

    2024年02月08日
    浏览(41)
  • 大数据HCIE成神之路之数学(2)——线性代数

    1.1.1 线性代数介绍 线性代数是一门被广泛运用于各工程技术领域的学科。用线性代数的相关概念和结论,可以极大地简化数据挖掘中相关公式的推导和表述。线性代数将复杂的问题简单化,让我们能够对问题进行高效地数学运算。 线性代数是一个数学工具,它不仅提供了有

    2024年02月04日
    浏览(37)
  • 大数据HCIE成神之路之数据预处理(6)——特征编码

    提问:什么是独热编码? 回答:独热编码是一种常用的数据编码方法,用于将分类变量转换为 二进制 的表示形式。它将每个类别表示为一个只包含 0和1 的二进制向量,其中每个类别对应一个维度,维度上的值为1表示该 样本属于该类别 ,为0表示 不属于该类别 。 对于离散

    2024年02月03日
    浏览(34)
  • 云原生之旅第一课(2站搜索K8s成神之路)

    自己动手搭建Kubernetes集群,学习如何自定义CRD,以及使用Kubebuilder快速搭建Operator项目,云原生之旅第一课。从一开始准备录制课程,到如今已经有了500位忠实粉丝,我感到无比欣慰。这门课程完全开源,每一集都是对比官网1比1,确保原汁原味。如果你也对云原生技术充满好

    2024年04月12日
    浏览(45)
  • java之路 —— Shiro与Springboot整合开发

    在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro。 在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro。 在整合之前,让我们先来了解一下Shiro开发

    2024年02月11日
    浏览(40)
  • 从GitHub火到头条!这套万人期待的 SQL 成神之路PDF,终于开源了!

    前言 近年来,随着互联网技术的发展,数据分析领域越来越受到人们的重视。能够有效地操作和分析数据,已经成为很多企业和个人成功的重要保证。SQL 是数据操作和查询的重要工具,掌握它不仅可以帮助我们更好地利用数据,也可以为我们打开新的职业之门。 今天小编给大家分

    2024年03月14日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包