TestController

增加一个布尔值数据,并且放在model中便于视图上获取

package com.how2java.springboot.web;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;import com.how2java.springboot.pojo.Product;@Controller
public class TestController {@RequestMapping("/test")public String test(Model m) {String htmlContent = "<p style='color:red'> 红色文字</p>";Product currentProduct =new Product(5,"product e", 200);boolean testBoolean = true;m.addAttribute("htmlContent", htmlContent);m.addAttribute("currentProduct", currentProduct);m.addAttribute("testBoolean", testBoolean);return "test";}
}

步骤 5 :

test.html
Thymeleaf 的条件判断是 通过 th:if 来做的,只有为真的时候,才会显示当前元素

如果testBoolean 是 true ,本句话就会显示

取反可以用not, 或者用th:unless.

取反 ,所以如果testBoolean 是 true ,本句话就不会显示

unless 等同于上一句,所以如果testBoolean 是 true ,本句话就不会显示

除此之外,三元表达式也比较常见

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>hello</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" media="all" href="../../webapp/static/css/style.css"th:href="@{/static/css/style.css}"/><script type="text/javascript" src="../../webapp/static/js/thymeleaf.js" th:src="@{/static/js/thymeleaf.js}"></script><style>h2{text-decoration: underline;font-size:0.9em;color:gray;}</style>
</head>
<body><div class="showing"><h2>条件判断</h2><p th:if="${testBoolean}" >如果testBoolean 是 true ,本句话就会显示</p><p th:if="${not testBoolean}" >取反 ,所以如果testBoolean 是 true ,本句话就不会显示</p><p th:unless="${testBoolean}" >unless 等同于上一句,所以如果testBoolean 是 true ,本句话就不会显示</p><p th:text="${testBoolean}?'当testBoolean为真的时候,显示本句话,这是用三相表达式做的':''" ></p>
</div><div class="showing"><h2>显示 转义和非转义的 html 文本</h2><p th:text="${htmlContent}" ></p><p th:utext="${htmlContent}" ></p>
</div><div class="showing"><h2>显示对象以及对象属性</h2><p th:text="${currentProduct}" ></p><p th:text="${currentProduct.name}" ></p><p th:text="${currentProduct.getName()}" ></p>
</div><div class="showing" th:object="${currentProduct}"><h2>*{}方式显示属性</h2><p th:text="*{name}" ></p>
</div><div class="showing"><h2>算数运算</h2><p th:text="${currentProduct.price+999}" ></p>
</div><div class="showing"><div th:replace="include::footer1" ></div><div th:replace="include::footer2(2015,2018)" ></div>
</div></body></html>

步骤 6 :

关于真假判断

不只是布尔值的 true 和 false, th:if 表达式返回其他值时也会被认为是 true 或 false,规则如下:

boolean 类型并且值是 true, 返回 true
数值类型并且值不是 0, 返回 true
字符类型(Char)并且值不是 0, 返回 true
String 类型并且值不是 “false”, “off”, “no”, 返回 true
不是 boolean, 数值, 字符, String 的其他类型, 返回 true

值是 null, 返回 false
步骤 7 :

重启测试

重新启动Application.java, 然后访问如下地址测试:

http://127.0.0.1:8080/thymeleaf/test

即可看到如图所示的效果。

THYMELEAF 如何用TH:IF做条件判断相关推荐

  1. jquer each 遍历的结果不显示 null_SpringBoot系列(三十一)- Thymeleaf如何用th:each 做条件遍历

    步骤1:基于前面的知识点步骤2:先运行,看到效果,再学习步骤3:模仿和排错步骤4:TestController步骤5:普通遍历步骤6:带状态的遍历步骤7:结合 select步骤8:结合 单选框步骤9: ...

  2. thymeleaf 如何用th:each 做条件遍历

    更多内容,点击了解: https://how2j.cn/k/springboot/springboot-interation/1740.html 目录 步骤 1 : 基于前面的知识点 步骤 2 : 先 ...

  3. 判断参数大于0_能做条件判断的文本函数

    我们知道文本函数的一般作用就是查找.替换.提取文本等等,可是能做条件判断的文本函数你见过吗?不仅如此,它还可以让日期变数字.数字变大写.金额变万元等等.说到这里,屏幕前的小伙伴有猜到它是谁吗? 在Ex ...

  4. ftl if else判断_为什么都不用 switch 而使用 if/ else 来做条件判断?

    Java技术栈 www.javastack.cn 关注优质文章 请用5秒钟的时间查看下面的代码是否存在bug. 推荐阅读:switch case 支持的数据类型. OK,熟练的程序猿应该已经发现Bug ...

  5. 使用动态SQL中的if标签做条件判断的几种用法和注意点

    使用中踩到的坑记录一下(大神请略过,我只是个菜菜,忽喷!!!万分感谢!!!) <mapper namespace="dynamic"><resultMap id= ...

  6. excel如何做条件判断

    使用excel的时候,经常需要把信息做归类.如,要把学生的成绩统计是否合格,那么如何操作呢,今天就用常用的speedoffice和大家分享一下. 1,打开表格,以下面内容为例,我们要将考核得分的标准为 ...

  7. JavaScript知识点之如何使用匿名的方法做条件判断

    例: if((function(){return abc == "123"; })()){}else{}

  8. python重复元素判定编程_从零开始学Python编程四:条件判断与循环

    前面已经介绍了不少Python基础知识,大家不要觉得不耐烦,想要学好Python,做好Python开发,一定要打牢基础.大家也发现了,Python中很多基础知识和数学算法是一样的,比如今天要教给大家的 ...

  9. Python:条件判断

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

最新文章

  1. Python中的元编程:一个关于修饰器和元类的简单教程
  2. Python批量下载XKCD漫画只需20行命令
  3. 小A与欧拉路(牛客-树的直径)
  4. 01.The Introduction of Linux
  5. Java Stream(流)的分类, 四大基本流的介绍
  6. 为什么一般不将'在制品转出科目'设为初级成本要素
  7. 图文:关于进程与线程,我看过最通俗的解释!
  8. 前端学习(2180):vue-router全局导航守卫
  9. 1360E. Polygon
  10. python函数的内涵_python内涵段子文章爬取
  11. 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(十)——稳定性与频率补偿
  12. 经典:5种常见的数据分析方法
  13. mybatis 使用简单的增删查改
  14. 新概念51单片机c语言教程考试题,新概念51单片机C语言教程例题.doc
  15. 混合策略改进鲸鱼优化算法-附代码
  16. Docker 学习笔记(八)-- Dockerfile 构建CentOS 实战测试
  17. 微信开发--IOS微信端confirm以及alert去掉网址的方法
  18. 训练3.21(CF 543B Destroying Roads)
  19. php录音功能,关于录音功能的详细介绍
  20. 下载喜马拉雅工具 洪校长音频

热门文章

  1. missing legacy device support
  2. 免安装版的mysql步骤_mysql免安装版的安装方法及步骤
  3. keil中断函数的写法_在 KeilC里,中断子程序与函数有何不同?( )_学小易找答案
  4. windows分辨率修改工具_Windows 字体优化,这几个办法能帮你解决
  5. python和node_Python和NodeJS绘图对比
  6. php 制造异常,php 异常
  7. signature=f2388c4f1bce538cc797410d9560f03b,KSHV strategies for host dsDNA sensing machinery
  8. 微信小程序image bindload事件失效不触发
  9. JDBC Druid式link
  10. shop--12.阿里云部署以及域名绑定