Thymeleaf常用语法:表达式语法之运算符
Thymeleaf表达式语法之常量分为字符串常量、数字常量、布尔值常量、空值常量;
运算符分为算术运算符、关系运算符、条件运算符、无操作符。
开发环境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8
新建一个名称为demo的Spring Boot项目。
1、pom.xml
加入Thymeleaf依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、src/main/java/com/example/demo/TestController.java
package com.example.demo; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class TestController {
@RequestMapping("/")
public String test(Model model){
model.addAttribute("flag", true);
return "test";
}
}
3、src/main/resources/templates/test.html
<h4>一、表达式常量</h4>
1、字符串常量:使用单引号,或|
<div th:text="'Hello,World'"></div>
<div th:text="|Hello,World|"></div>
如果双引号内容只包含“a-zA-Z0-9[]-_”,也可省略单引号,别的情况如使用逗号会发生异常
<div th:text="HelloWorld"></div>
2、数字常量
<div th:text="10"></div>
<div th:text="10 + 20"></div>
3、布尔值常量:==true语句放到${...}外面则由Thymeleaf处理,放在里面则由OGNL或SpringEL处理
<div th:if="${flag} == true">显示</div>
<div th:if="${flag == false}">隐藏</div>
4、空值常量
<div th:if="${flag} == null">显示</div>
<div th:if="${flag == null}">隐藏</div>
5、字符串拼接:除了用#strings对象的append和concat方法,也可使用“+”号、“|”符号
<div th:text="a + b"></div>
<div th:text="'a' + 'b'"></div>
<div th:text="${'a' + 'b'}"></div>
<div th:text="|a| + |b|"></div> <h4>二、算术运算符</h4>
1、加法
<div th:text="${1 + 2}"></div>
<div th:text="1 + 2"></div>
2、减法
<div th:text="${1 - 2}"></div>
<div th:text="1 - 2"></div>
3、乘法
<div th:text="${1 * 2}"></div>
<div th:text="1 * 2"></div>
4、除法:除法还可以用别名 div
<div th:text="${1 / 2}"></div>
<div th:text="${1 div 2}"></div>
<div th:text="${1 / 2.0}"></div>
<div th:text="1 / 2"></div>
5、求余:求余还可以用别名 mod
<div th:text="${1 % 2}"></div>
<div th:text="${1 mod 2}"></div>
<div th:text="1 % 2"></div> <h4>三、关系运算符</h4>
关系运算符有: >、<、>=、<=、==、!=,
<div>对应的别名是:gt、lt、ge、le、eq、ne</div>
<div th:text="1 > 1"></div>
<div th:text="1 gt 1"></div>
<div th:text="1 < 1"></div>
<div th:text="1 lt 1"></div>
<div th:text="1 >= 1"></div>
<div th:text="1 ge 1"></div>
<div th:text="1 <= 1"></div>
<div th:text="1 le 1"></div>
<div th:text="1 == 1"></div>
<div th:text="1 eq 1"></div>
<div th:text="1 != 1"></div>
<div th:text="1 ne 1"></div> <h4>三、条件运算符</h4>
1、条件运算符表达式为:(condition) ? then : else
<div th:text="${1 > 1} ? |大于| : |不大于|"></div>
<div th:text="1 > 1 ? |大于| : |不大于|"></div>
也可省略then
<div th:text="1 > 1 ? |大于|"></div>
2、默认值表达式为:(value)?:(defaultValue),表示存在某个值时直接返回该值,否则返回默认值
<div th:text="${'a'} ?: |一|"></div>
<div th:text="${null} ?: |一|"></div> <h4>四、无操作符</h4>
使用“_”表示无操作,当一个值不存在时,使用该符号指定表达式不进行任何操作,这样对原型破坏最小。
例如原型为:<div>abc</div>
可能会使用语句:<div th:text="${userName} ?: 'abc'"></div>
现在可使用:<div th:text="${userName} ?: _">abc</div>
浏览器访问:http://localhost:8080
页面输出:
一、表达式常量
1、字符串常量:使用单引号,或|
Hello,World
Hello,World
如果双引号内容只包含“a-zA-Z0-9[]-_”,也可省略单引号,别的情况如使用逗号会发生异常
HelloWorld
2、数字常量
10
30
3、布尔值常量:==true语句放到${...}外面则由Thymeleaf处理,放在里面则由OGNL或SpringEL处理
显示
4、空值常量 5、字符串拼接:除了用#strings对象的append和concat方法,也可使用“+”号、“|”符号
ab
ab
ab
ab
二、算术运算符
1、加法
3
3
2、减法
-1
-1
3、乘法
2
2
4、除法:除法还可以用别名 div
0
0
0.5
0.5
5、求余:求余还可以用别名 mod
1
1
1
三、关系运算符
关系运算符有: >、<、>=、<=、==、!=,
对应的别名是:gt、lt、ge、le、eq、ne
false
false
false
false
true
true
true
true
true
true
false
false
三、条件运算符
1、条件运算符表达式为:(condition) ? then : else
不大于
不大于
也可省略then
2、默认值表达式为:(value)?:(defaultValue),表示存在某个值时直接返回该值,否则返回默认值
a
一
四、无操作符
使用“_”表示无操作,当一个值不存在时,使用该符号指定表达式不进行任何操作,这样对原型破坏最小。 例如原型为:
abc
可能会使用语句:
abc
现在可使用:
abc
Thymeleaf常用语法:表达式语法之运算符的更多相关文章
- C#3.0新增功能09 LINQ 标准查询运算符 02 查询表达式语法
连载目录 [已更新最新开发文章,点击查看详细] 某些使用更频繁的标准查询运算符具有专用的 C# 语言关键字语法,使用这些语法可以在查询表达式中调用这些运算符. 查询表达式是比基于方法的等效项更具 ...
- re 模块 常用正则表达式符号 最常用的匹配语法
常用正则表达式符号1 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' 匹配字符开头,若指定flags MULTILINE, ...
- Freemaker FTL指令常用标签及语法
https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...
- FTL指令常用标签及语法
FTL指令常用标签及语法注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析. freemaker注释:<#-- 注释内容 -->格式部分,不会输出 - ...
- Linq之查询表达式语法详解
1.闲言碎语 由于项目的需要接触到Linq,刚开始有些不适应,好多概念都很模糊.不过经过一段时间的摸索,慢慢地对Linq有了一个更加深入的了解.在此记录一下备忘. 2.查询表达式语法 执行L ...
- python学习第三讲,python基础语法之注释,算数运算符,变量.
目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...
- Lambda 表达式语法
本主题介绍 lambda 表达式的语法. 它演示提供 lambda 表达式的结构元素的示例,这些元素与示例. Lambda 表达式语法 下面用于定义显示语法,ISO C++11 从标准,lambda ...
- 【知识库】-数据库_MySQL常用SQL语句语法大全示例
简书作者:seay 文章出处: 关系数据库常用SQL语句语法大全 Learn [已经过测试校验] 一.创建数据库 二.创建表 三.删除表 四.清空表 五.修改表 六.SQL查询语句 七.SQL插入语句 ...
- Java基础语法01——变量与运算符
本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).
随机推荐
- 敏捷开发--洞察敏捷模型,从PO的角度看敏捷产品管理
转自本人运营的公众号“ 携程技术中心PMO”(ID:cso_pmo) 经常有人抱怨的一个问题:敏捷会让团队自组织,要求团队能“一方有难,八方支援”,但是为什么总感觉自己团队虽然实践了敏捷, ...
- sonar安装和使用
安装 1. 从官网下载,https://www.sonarqube.org/downloads/ 2. 下载之前要看好要求,我安装的是7.6的版本,要求是jdk1.8,mysql 5.6 到8 ,我使 ...
- spi-mem: 为SPI存储器生态带来一些一致性
在本文中,我们将介绍关于spi-mem Linux内核框架的工作,该框架将允许在SPI NOR设备和常规SPI设备以及SPI NAND设备上复用SPI控制器驱动程序. 从SPI到双线.四线.八线SPI ...
- Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)
作者 | 杨成立(忘篱) 阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复 Go 即可查看清晰知识大图! 导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的 ...
- Mvc导入
[HttpPost] public void Import() { //获取文件 HttpPostedFileBase fileBase = Request.Files["file" ...
- c# 保留2位小数 整数时无小数
对数值保存两位小数,有时是整数时,不需要显示两位小数.例如值为:1.32 保留两位,结果是1.32,值为:2,结果有两种显示,2和2.00 /// <summary> /// 金额 /// ...
- 50-overlay 如何实现跨主机通信?
上一节我们在 host1 中运行了容器 bbox1,今天将详细讨论 overlay 网络跨主机通信的原理. 在 host2 中运行容器 bbox2: bbox2 IP 为 10.0.0.3,可以直接 ...
- TCP服务端
出处: https://blog.csdn.net/DGH2430284817/article/details/86653294问题描述: 在用socket的通信中,经常会出现这种情况,客 ...
- FTP 代码含义
vsftpd.config 部分参数含义anonymous_enable=NO #不允许匿名用户登陆 local_enable=YES #vsftpd所在系统的用户可以登录vsftpd write_e ...
- 10. 函数-lambda函数及高阶函数
一.匿名函数解析 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. 用匿名函数有 ...