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基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).
随机推荐
- iOS WKWebView与JS的交互
参考链接:https://www.jianshu.com/p/524bc8699ac2
- java正则表达式大全(常用)
一.校验数字的表达式 数字:^[-]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(|[-][-]*)$ 非零开头的最多 ...
- Java安装JDK
因为Java程序必须运行在JVM之上,所以,我们第一件事情就是安装JDK. 搜索JDK 13,确保从Oracle的官网下载最新的稳定版JDK: 1.选择JDK版本 2.同意协议,点击合适系统平台下载 ...
- JqueryOn绑定事件方法介绍
JqueryOn绑定事件方法介绍 1. 简介 (1) On()方法在被选及子元素上添加一个或多个事件处理程序 (2) 在jquery 版本1.7起,on()方法是bind(),live()和deleg ...
- Vue和React的区别,以及如何选择?
简介 React:React是一个用于创建可重用且有吸引力的UI组件的库.它非常适合代表经常变化的数据的组件. Vue:Vue.js是一个开源JavaScript框架,能够开发单页面应用程序.它还可以 ...
- Android 程序分析环境搭建-动态分析环境搭建
静态查看过app 的代码,但是有些app 非常复杂,页面好多,你根本找不到从何处下手.还有app 通过静态分析,发现有被加固(后续会讲如何砸壳),根本找不到,还有即便你搜索app界面上的文字,你也搜索 ...
- LeetCode刷题191125
博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 今天状态不好,划一下水. 算法: 给定一个整数数组 nums 和一个目标 ...
- 运维工程师必会工具(Nmap和TCPdump)
1.NMap工具 主要功能:探测主机是否在线.扫描主机开放端口和嗅探网络服务,用于网络探测和安全扫描. NMap支持很多扫描技术,例如:UDP.TCPconnect().TCPSYN(半开扫描).ft ...
- OOAD 面向对象的分析与设计
OOAD 面向对象的分析与设计 OOA-----分析阶段(针对业务问题清晰视图, 列出系统完成任务, 整理业务的公共词汇, 列出解决业务的解决方法) O ...
- c++ 的namespace及注意事项
前文 下文中的出现的"当前域"为"当前作用域"的简写 namepsace在c++中是用来避免不同模块下相同名字冲突的一种关键字,本文粗略的介绍了一下namesp ...