Spring Boot整合Thymeleaf

写在前面

从零开始的Spring Boot(4、Spring Boot整合JSP和Freemarker)

https://www.cnblogs.com/gaolight/p/13132021.html

从零开始的Spring Boot(6、Thymeleaf内置对象及表达式大全)

https://www.cnblogs.com/gaolight/p/13138087.html

Thymeleaf中文文档

https://fanlychie.github.io/post/thymeleaf.html#2-1-1-…

一、Thymeleaf介绍

Thymeleaf的主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器

中正确显示,并且可以作为静态原型,让开发团队能更容易地协作。Thymeleaf 能够处理

HTML,XML, JavaScript, CSs甚至纯文本。

长期以来.jsp在视图领域有非常重要的地位,随着时间的变迁,出现了一位新的挑战

者:Thymeleaf,Thymeleaf是原生的,不依赖于标签库.它能够在接受原始HTML的地方进行编

辑和渲染因为它没有与Servelet规范耦合,因此Thymeleaf模板能进入jsp所无法涉足的领域。

二、Thymeleaf的基本使用

  1. 创建项目;

创建项目springbootthymeleaf;

  2.修改POM文件,添加Thynaleaf依赖;

<!--添加Thymeleaf启动器依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

  3.创建Controller;

package com.demo.springbootthymeleaf.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class PageController {
    @GetMapping("/show")
    public String showPage(Model model){
        model.addAttribute("msg","Hello Thymeleaf");
        return "index";
    }
}

  4.创建视图;(html使用html4)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>标题</title>
</head>
<body>
<span th:text="标题"></span>
<hr/>
<span th:text="${msg}"></span>
</body>
</html>

  5.运行启动类,浏览器输入http://localhost:8080/show

三、Thymeleaf的变量输出操作

命名空间: xmlns:th="http://www.thymeleaf.org”

字符串与变量输出操作

th:text在页面中输出值

th:value可以将一个值放入到input标签的value中

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>标题</title>
</head>
<body>
<span th:text="标题"></span>
<hr/>
<span th:text="${msg}"></span>
<hr/>
<input th:value="${msg}">
</body>
</html>

四、Thymeleaf的内置对象及表达式

Thymeleaf提供了一些内置对象,内置对象可直接在模板中使用。这些对象是以#引用

使用内置对象的语法

1.引用内置对象需要使用#

2.大部分内置对象的名称都以s结尾。如: strings、 numbers、 dates

${#strings. isEmpty(key)}

判断字符串是否为空,如果为空返回true,否则返回false

${#strings . contains(msg, 'T')}

判断字符串是否包含指定的子串,如果包含返回true,否则返回false

${#strings. startsWith(msg, 'a')}

判断当前字符串是否以子串开头,如果是返回true,否则返回false

从零开始的Spring Boot(6、Thymeleaf内置对象及表达式大全)

https://www.cnblogs.com/gaolight/p/13138087.html

五、Thymeleaf的条件判断

th:if

条件判断

th:switch / th:case ;

th:switch / th:case与Java 中的switch 语句等效,有条件地显示匹配的内容。如果有

多个匹配结果只选择第- -个 显示。

th:case= ="*"表示Java中switch的default,即没有case的值为true时则显示th:case= ="*"

的内容。

六、Thymeleaf的迭代遍历

th:each

迭代器,用于循环迭代集合

th:each 状态变量

1) index:当前迭代器的索引从0开始

2) count:当 前迭代对象的计数从1开始

3) size:被迭代对象的长度

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

5) first:布尔值,当前循环的是否是第一条,如果是返回true否则返回false

6) last:布尔值,当前循环的是否是最后一条,如果是则返回true否则返回false

迭代Map

七、Thymeleaf的常见配置

从零开始的Spring Boot(5、Spring Boot整合Thymeleaf)的更多相关文章

  1. spring boot与jdbcTemplate的整合案例2

    简单入门了spring boot后,接下来写写跟数据库打交道的案例.博文采用spring的jdbcTemplate工具类与数据库打交道. 下面是搭建的springbootJDBC的项目的总体架构图: ...

  2. Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...

  3. Spring Boot 2.x 综合示例-整合thymeleaf、mybatis、shiro、logging、cache开发一个文章发布管理系统

    一.概述 经过HelloWorld示例(Spring Boot 2.x 快速入门(上)HelloWorld示例)( Spring Boot 2.x 快速入门(下)HelloWorld示例详解)两篇的学 ...

  4. Spring Boot(Spring的自动整合框架)

    Spring Boot 是一套基于Spring框架的微服务框架,由于Spring是一个轻量级的企业开发框架,主要功能就是用于整合和管理其他框架,想法是将平时主流使用到的框架的整合配置预先写好,然后通过 ...

  5. 史上最全面的Spring Boot Cache使用与整合

    一:Spring缓存抽象 Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口 ...

  6. spring boot 学习(二)spring boot 框架整合 thymeleaf

    spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...

  7. Spring Boot与Spring Security整合后post数据不了,403拒绝访问

    http://blog.csdn.net/sinat_28454173/article/details/52251004 *************************************** ...

  8. Spring Boot 整合 Thymeleaf 完整 Web 案例

    Thymeleaf 是一种模板语言.那模板语言或模板引擎是什么?常见的模板语言都包含以下几个概念:数据(Data).模板(Template).模板引擎(Template Engine)和结果文档(Re ...

  9. Spring Boot 中使用 MyBatis 整合 Druid 多数据源

    2017 年 10 月 20 日   Spring Boot 中使用 MyBatis 整合 Druid 多数据源 本文将讲述 spring boot + mybatis + druid 多数据源配置方 ...

随机推荐

  1. 简单poi操作word@2020

    个人采用POI(3.16版本)一.段落部分XWPFParagraph paragraph = docxDocument.createParagraph();1.段落对齐方式paragraph.setA ...

  2. Docker容器启动时初始化Mysql数据库

    1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案 ...

  3. Ef core 如何设置主键

    在正题之前,先说明几个问题. (1)写 sql 不好吗,为什么要引入 ORM ? 总的来说由于需求的复杂性增加,引入了面向对象编程,进而有了 ORM ,ORM 使得开发人员以对象的方式表达业务逻辑.对 ...

  4. 2/3/4G网络架构

    1通讯网络演进 1.1 概念名词 LTE=Long Term Evolution=长期演进, 是3GPP制定的高数据率.低时延.面向分组域优化的新一代宽带移动通信标准项目. E-UTRAN 无线接入网 ...

  5. Android_适配器(adapter)之BaseAdapter

    BaseAdapter是应用最多的一种适配了.它是一个抽象类,需要重写方法完成自定义适配器的功能,这就比较自由灵活,能实现各种想要的效果. 之前讲到的SimpleAdapter和ArrayAdapte ...

  6. 《CEO说》读后感

    <CEO说>读书心得(1至3章): 成功的企业和街头小贩有着共性的商业智慧,能够透过复杂的表象看到商业的本质,化繁为简,抓住企业经营的根本要素(现金净流入.利润.周转率.资产收益率.业务增 ...

  7. 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!

    写在前面 Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志 ...

  8. .net core 基于AspNetCore.Identity+Identityserver4用户的权限管理

    一般权限控制,是先给角色分配对应权限,然后再给用户分配角色:总权限应该是在代码编写的时候就已经固定了,例如有个用户更新的接口,这里就会诞生一个用户更新的权限,接口在权限就在,没有接口也就没有了这个权限 ...

  9. Spring Boot笔记(一) springboot 集成 swagger-ui

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.添加依赖 <!--SpringBoot整合Swagger-ui--> <depen ...

  10. Source Insight无限试用期修改方法

    修改路径:C:\ProgramData\Source Insight\4.0\si4.lic 字段: Date="2020-01-20" Expiration="2020 ...