Thymeleaf常用语法:条件判断 if、switch case

if语句
条件判断使用th:if,它会判断表达式是否成立,表达式的结果支持boolean、number、character、String及其他类型。
满足下面情况下,if语句成立:
(1) 表达式的结果是数字且不是0
(2) 表达式的结果是字符串且不是false、off、no、0
(3) 表达式的结果是其他数据类型
switch case语句
(1) 类似Java的switch case语句:th:switch、th:case
(2) 使用th:case="*"来表示默认值
(3) 如果第一个th:case结果为true,则其它所有的th:case会被设置为false,即使它们的结果也是true

开发环境: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;

import java.util.ArrayList;
import java.util.List;

@Controller
public class TestController {
    @RequestMapping("/")
    public String test(Model model){
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        model.addAttribute("list", list);
        model.addAttribute("flag", true);
        model.addAttribute("gender", 1);
        return "test";
    }
}

3、src/main/resources/templates/test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h4>一、条件判断</h4>
     [1]<div th:text="true" th:if="${flag}"></div>
     [2]<div th:text="‘数字,非0‘" th:if="10"></div>
     [3]<div th:text="‘字符串,非false、off、no‘" th:if="‘a‘"></div>
     [4]<div th:text="其他数据类型" th:if="${list}"></div>
     [5]<div th:text="字符串0" th:if="‘0‘"></div>
     [6]<div th:text="数字0" th:if="0"></div>
     [7]<div th:text="false" th:if="‘false‘"></div>
     [8]<div th:text="off" th:if="‘off‘"></div>
     [9]<div th:text="no" th:if="‘no‘"></div>
<h4>二、switch case</h4>
    <select th:switch="${gender}">
        <option th:case="1">男</option>
        <option th:case="0">女</option>
        <option th:case="*">其他</option>
    </select>

    <select th:switch="2">
        <option th:case="1">男</option>
        <option th:case="0">女</option>
        <option th:case="*">其他</option>
    </select>

</body>
</html>

浏览器访问:http://localhost:8080
右键查看网页源代码,生成的HTML源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h4>一、条件判断</h4>
     [1]<div>true</div>
     [2]<div>数字,非0</div>
     [3]<div>字符串,非false、off、no</div>
     [4]<div>其他数据类型</div>
     [5]<div>字符串0</div>
     [6]
     [7]
     [8]
     [9]
<h4>二、switch case</h4>
    <select>
        <option>男</option>

    </select>

    <select>

        <option>其他</option>
    </select>

</body>
</html>

原文地址:https://www.cnblogs.com/gdjlc/p/11695517.html

时间: 2024-10-14 15:55:51

Thymeleaf常用语法:条件判断 if、switch case的相关文章

shell编程 条件判断式----利用 case ..... esac 判断

条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含

语法技巧(三目运算符、switch...case...)

一.三目运算符 三目运算符的一种简便写法: bool b = str == "abc" ? false : true; 当是自身时,实际上别吝啬那一个括号,有一个括号,实际上更容易一看就看懂: int i = 0; i = (i == 0) ? 1 : 0;  实际上这样的代码更好看: bean.BlogCloud_Url = i > 1 ? BlogCloud_Url : BlogCloud_Url + "&page=" + i; 二.switch.

Linux 条件判断 - if语句 - case语句 - for语句

01.按照文件类型进行判断   => 常用-d.-e.-f 两种格式: test -e /root/install.log  =>   常用 [ -e /root/install.log ]  =>   两边空格必须有 例如:[ -d /root ] && echo "yes" || echo "no":判断该文件是否存在,并且是否为目录文件,是yes,不是no. 02.按照文件权限进行判断   => 03.两个文件之间比较

Thymeleaf常用语法:表达式语法之运算符

Thymeleaf表达式语法之常量分为字符串常量.数字常量.布尔值常量.空值常量:运算符分为算术运算符.关系运算符.条件运算符.无操作符. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 1.pom.xml加入Thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI

SQL中的条件判断语句(case when zhen if,ifnull)用法

一.case when then 适用于:sqlserver 和mysql case具有两种格式.简单case函数和case搜索函数.这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式.还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略. --简单case函数case sex  when '1' then '男'  when '2' then '女’  else '其他' e

Thymeleaf常用语法:模板注释

Thymeleaf模板注释分为标准HTML/XML注释.解析层注释.原型注释三种. 一.注释说明 1.标准HTML/XML注释 直接通过浏览器打开,不显示,Thymeleaf模板引擎解析也不处理,但查看网页源代码,注释有在里面.语法: <!-- 内容 --> 浏览器界面不显示,查看浏览器网页源码有显示: 2.解析层注释 直接通过浏览器打开,会显示.但Thymeleaf模板引擎解析时会移除注释标签和里面内容.一般开发人员使用,减少对原型页面的破坏.语法: <!--/*--> 内容 &

Thymeleaf常用语法:模板片断

系统中的很多页面有很多公共内容,例如菜单.页脚等,这些公共内容可以提取放在一个称为“模板片断”的公共页面里面,其它页面可以引用这个 “模板片断”内容. 一.模板片断的定义 可以是html标签,也可以使用th:fragment属性定义片断. 二.引用片断 1.使用th:insert属性插入片断,除此之外,还可以使用th:replace和th:include插入.语法:(1) th:insert="~{模板名称}"插入模板的整个内容 (2) th:insert="~{模板名称::

Thymeleaf常用语法:自定义数据转换类

在模板文件中,可以使用“${{...}}”表达式进行数据转换,Thymeleaf会使用配置好的数据转换类,来实现转换.例如一个User对象,简单起见假设有姓名和年龄两个字段,对象的toString()方法拼接所有字段,使用“${user}”会调用对象的 toString()方法得到所有字段,如果在模板中只想得到姓名,可以使用自定义数据转换类实现. 在Sprint Boot中,实现过程:(1)先实现自定义的Formatter类,并根据具体业务实现数据转换逻辑:(2)将自定义的Formatter类注

Thymeleaf常用语法:HTML属性设置

使用Thymeleaf的属性来设置HTML属性.(1)使用th:attr属性可以修改原来HTML节点的属性:(2)th:attr属性可以同时设置多个属性:(3)每一个HTML属性都有对应的Thymeleaf属性,如th:attr="value='值'"可换为th:value="值"(4)HTML的type为checkbox.readonly.required.disabled的,Thymeleaf属性可写为th:checked="true/false&qu