从零开始的Spring Boot(5、Spring Boot整合Thymeleaf)
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的基本使用
- 创建项目;
创建项目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)的更多相关文章
- spring boot与jdbcTemplate的整合案例2
简单入门了spring boot后,接下来写写跟数据库打交道的案例.博文采用spring的jdbcTemplate工具类与数据库打交道. 下面是搭建的springbootJDBC的项目的总体架构图: ...
- Spring Kafka和Spring Boot整合实现消息发送与消费简单案例
本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...
- Spring Boot 2.x 综合示例-整合thymeleaf、mybatis、shiro、logging、cache开发一个文章发布管理系统
一.概述 经过HelloWorld示例(Spring Boot 2.x 快速入门(上)HelloWorld示例)( Spring Boot 2.x 快速入门(下)HelloWorld示例详解)两篇的学 ...
- Spring Boot(Spring的自动整合框架)
Spring Boot 是一套基于Spring框架的微服务框架,由于Spring是一个轻量级的企业开发框架,主要功能就是用于整合和管理其他框架,想法是将平时主流使用到的框架的整合配置预先写好,然后通过 ...
- 史上最全面的Spring Boot Cache使用与整合
一:Spring缓存抽象 Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口 ...
- spring boot 学习(二)spring boot 框架整合 thymeleaf
spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...
- Spring Boot与Spring Security整合后post数据不了,403拒绝访问
http://blog.csdn.net/sinat_28454173/article/details/52251004 *************************************** ...
- Spring Boot 整合 Thymeleaf 完整 Web 案例
Thymeleaf 是一种模板语言.那模板语言或模板引擎是什么?常见的模板语言都包含以下几个概念:数据(Data).模板(Template).模板引擎(Template Engine)和结果文档(Re ...
- Spring Boot 中使用 MyBatis 整合 Druid 多数据源
2017 年 10 月 20 日 Spring Boot 中使用 MyBatis 整合 Druid 多数据源 本文将讲述 spring boot + mybatis + druid 多数据源配置方 ...
随机推荐
- C语言关于数据类型转换
自动类型转换 自动类型转换就是编译器默默地.隐式地.偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生. 1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如: ; ...
- 0507 构造代码块和static案例,接口interface
0507构造代码块和static案例,接口interface [重点] 1.局部变量,成员变量,静态变量的特点 2.接口 接口语法:interface A {} 接口内的成员变量[缺省属性]publi ...
- Mysql面试的技术名词
面试的技术名词 面试一般会遇到一些名词,其实可能自己都知道其中的道理,但是因为没了解过,当时心里就一句WC,然后弱弱答一句:不好意思这个我只是听过,具体还没了解过: 回表 覆盖索引 最左前缀匹配 索引 ...
- 最小生成树——Prim算法理解
背景:本文是在小甲鱼数据结构教学视频中的代码的基础上,添加详细注释而完成的.该段代码并不完整,仅摘录了核心算法部分,结合自己的思考,谈谈理解. Prim算法理解: 如图(摘录自小甲鱼教学视频中的图片) ...
- PIX防火墙配置A/S故障切换
PIX防火墙配置A/S故障切换 1.基本命令 failover show failover failover lan enable failover lan interface zwish e2 fa ...
- 【MobileNet-V1】-2017-CVPR-MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications-论文阅读
2017-CVPR-MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications Andrew H ...
- Beta冲刺——代码规范与计划
这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.代码规范 采用ShowDoc网站进行编 ...
- Spring Cloud 系列之 Apollo 配置中心(二)
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Apollo 配置中心(一) 本篇文章讲解 Apollo 部门管理.用户管理.配置管理.集群管理. 点击链接观看:Ap ...
- 移动端fixed兼容问题
最近做移动端页面,有个需求类似下图 底部导航用fixed定位时在部分iOS版本中会有问题: 1.上滑是底部会跟着滑动,手指松开时才会又回到底部 2.软键盘唤起的情况下,也会出现许多莫名其妙的问题 网上 ...
- Java实现 LeetCode 521 最长特殊序列 Ⅰ(出题人:“就是喜欢看你们不敢相信那么简单,又不敢提交的样子。”)
521. 最长特殊序列 Ⅰ 给定两个字符串,你需要从这两个字符串中找出最长的特殊序列.最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列). 子序列可以通过删去字符串中 ...