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基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).
随机推荐
- SAP S4HANA TR传输之操作
SAP S4HANA TR传输之操作 事务代码: STMS_IMPORT, 选中请求,点击漏斗按钮, 输入要传输的TR(可以多个),然后回车, 鼠标单击请求号,按F9, 然后传输, 点击按钮'是',系 ...
- day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入
复习 1.java的输出语句 1)System.out.println(); 2)System.out.print(); 2.注释 1)单行注释 // 2)多行注释 /* .... */ 3.变量 1 ...
- css3 @page
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 阿里云ECS部署Redis主备哨兵集群遇到的问题
一.部署 详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809 Redis5.0版本需要注意的参数配置:https://www ...
- Aery的UE4 C++游戏开发之旅(3)蓝图
目录 蓝图 蓝图命名规范 蓝图优化 暴露C++至蓝图 暴露C++类 暴露C++属性 暴露C++函数 暴露C++结构体/枚举 暴露C++接口 蓝图和C++的结合方案 使用继承重写蓝图 使用组合重写蓝图 ...
- linux的常用命令(一)
目录切换命令: cd切换目录 cd /usr 切换到usr目录 cd .. 切换到上一层目录 cd ../.. 调到当前目录的上上两层 cd / 切换到系统根目录 cd ~ ...
- IDEA 如何自动导入(import)
如果大家正在使用一个未曾导入(import)过的类,或者它的静态方法或者静态字段,IDEA 会给出对应的建议,只要按下 ⌥(option)和回车就可以接受建议. 但我觉得这样做仍然很麻烦,不够智能化. ...
- 【每天一题】LeetCode 0026. 删除排序数组中的重复项
开源地址:https://github.com/jiauzhang/algorithms 题目描述 /* * https://leetcode-cn.com/problems/remove-dupli ...
- Java生鲜电商平台-统一格式返回的API架构设计与实战
Java生鲜电商平台-统一格式返回的API架构设计与实战 说明:随着互联网各岗位精细化分工的普及,出现了很多的系统架构设计,比如常见的前后端分离架构,后端提供接口给前端,前端根据接口的数据进行渲染,大 ...
- VScode - 10个提高工作效率的快捷键
复制行 shift + alt + up / down 移动行 alt + up / down 多选 按住alt + 鼠标单击 删除上个单词 ctrl + Backspace 全部保存 ctrl + ...