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常用语法:表达式语法之运算符的更多相关文章

  1. C#3.0新增功能09 LINQ 标准查询运算符 02 查询表达式语法

    连载目录    [已更新最新开发文章,点击查看详细] 某些使用更频繁的标准查询运算符具有专用的 C# 语言关键字语法,使用这些语法可以在查询表达式中调用这些运算符. 查询表达式是比基于方法的等效项更具 ...

  2. re 模块 常用正则表达式符号 最常用的匹配语法

      常用正则表达式符号1 '.'     默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^'     匹配字符开头,若指定flags MULTILINE, ...

  3. Freemaker FTL指令常用标签及语法

    https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...

  4. FTL指令常用标签及语法

    FTL指令常用标签及语法注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析. freemaker注释:<#-- 注释内容 -->格式部分,不会输出 - ...

  5. Linq之查询表达式语法详解

    1.闲言碎语 由于项目的需要接触到Linq,刚开始有些不适应,好多概念都很模糊.不过经过一段时间的摸索,慢慢地对Linq有了一个更加深入的了解.在此记录一下备忘.      2.查询表达式语法 执行L ...

  6. python学习第三讲,python基础语法之注释,算数运算符,变量.

    目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...

  7. Lambda 表达式语法

    本主题介绍 lambda 表达式的语法. 它演示提供 lambda 表达式的结构元素的示例,这些元素与示例. Lambda 表达式语法 下面用于定义显示语法,ISO C++11 从标准,lambda ...

  8. 【知识库】-数据库_MySQL常用SQL语句语法大全示例

    简书作者:seay 文章出处: 关系数据库常用SQL语句语法大全 Learn [已经过测试校验] 一.创建数据库 二.创建表 三.删除表 四.清空表 五.修改表 六.SQL查询语句 七.SQL插入语句 ...

  9. Java基础语法01——变量与运算符

    本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).

随机推荐

  1. cesium计算当前地图范围extent以及近似当前层级zoom

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  2. 仿Inshot分享页图片圆形展开缩放动画

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/221 圆形展开缩放动画 关键代码: final Anima ...

  3. c代码中while循环的一个死机问题引发的思考

    前记   c语言已经是一门经常吃饭的本领,本来是要有种看一眼,就知道哪儿出问题了才行,没想到,遇到实际问题的时候,才知道自己的修为不到家.还没有达到那种炉火纯青的境界.看来,不是这个世界没有机会,是自 ...

  4. C# base

    using System; using System.Collections.Generic; using System.Text; namespace 继承 { class Program { st ...

  5. SSM框架之SpringMVC(3)常用注解

    SpringMVC(3)常用注解 1. RequestParam注解 1.作用:把请求中指定名称的参数传递给控制器中的形参赋值 2.属性: ​ 1.value:请求参数的每次 ​ 2.required ...

  6. vue2y引入iview,在ie11报错的解决办法

    在ie11中打开vue项目一片空白,F12打开控制台发现如下错误 只需要在build/webpack.base.conf.js中加一行代码即可

  7. [转]UiPath Studio Community如何连接orchestrator (Level2讲解)

    本文转自:https://mp.weixin.qq.com/s/_IWsUB94nT0QwQ6t1IK0Dg https://blog.csdn.net/weixin_45000314/article ...

  8. 网站如何免费升级到HTTPS?

    最近在做网站SSL升级,看似简单的操作还是会遇到各种问题,现在和大家分享一下. 证书申请: 公司是创业公司,为了省成本准备申请免费证书,对比了一些证书商,最后选择使用沃通wosign提供的证书服务,发 ...

  9. 团队项目之测试与发布(Alpha版本)

    小组:BLACK PANDA 时间:2019.12.05 测试报告 1.测试找出的BUG 图片上传,文件过大会出错 用户可访问不具权限的URL 空字段导致异常 serializable反序列化时版本不 ...

  10. PHP计算二维数组指定元素的和

    array_sum(array_column($arr, 'num')); //计算二维数组指定元素的和 $arr = [ [ 'id'=>1, 'num'=>3, ], [ 'id'=& ...