• 五、运算表达式


    5、运算表达式

    1.3、运算表达式

    运算表达式只能用于属性上,而不能在[[]]中使用

    1.3.1、算术运算

    thymeleaf可以使用以下算术运算符:+ , - , * , / , %;

    示例

    TestServlet中添加两个整数值

    1. request.setAttribute("num1", 6);
    2. request.setAttribute("num2", 2);

    index.html中使用两个属性进行算术运算

    1. <ul>
    2. <li th:text="${num1} + ${num2}"></li>
    3. <li th:text="${num1} - ${num2}"></li>
    4. <li th:text="${num1} * ${num2}"></li>
    5. <li th:text="${num1} / ${num2}"></li>
    6. <li th:text="${num1} % ${num2}"></li>
    7. </ul>

    运行test.do,页面显示效果如下

    2、条件运算

    thymeleaf可使用的比较运算符有: >、<、>=、<= 、==、!= (gt、lt、ge、le)

    也可以使用比较运算关键字:gt、lt、gt、le、eq、ne)

    示例

    1. <ul>
    2. <li th:text="${num1} == ${num2}"></li>
    3. <li th:text="${num1} eq ${num2}"></li>
    4. </ul>

    运行test.do,页面显示效果如下

    3、三目运算符

    三目运算有三种形式,

    第一种是 :$(if) ? then : else ,当条答成立和不成立时都有值输出

    第二种是:$(if) ? then,当条件成立时才有输出

    第三种是:$(value) ?: defalut,当值不存在时,使用默认值代替

    1. <ul>
    2. <li th:text="${num1} > ${num2} ? ${num1} : ${num2}"></li>
    3. <li th:text="${num1} > ${num2} ? ${num1}"></li>
    4. <li th:text="${num3} ?: 10"></li>
    5. </ul>

    运行test.do,页面显示效果如下

    4、逻辑运算

    thymeleaf可使用的逻辑运算符有:and、or、not

    示例

    1. <ul>
    2. <li th:text="true and false "></li>
    3. <li th:text="true or false"></li>
    4. <li th:text="not false"></li>
    5. </ul>

    运行test.do,页面显示效果如下

    1.1.3、条件表达式

    在标签上使用"th:if"等属性可实现条件的判断,当条件不成立时,此属性所在的标签将不被加载。

    1、th:if

    简单条件判断,条件成立,此标签将会被加载

    示例

    1. <div th:if="${num1} > 5 ">[[${num1}]]大于5</div>
    2. <div th:if="${num1} < 5 ">[[${num1}]]小于5</div>

    运行test.do,页面显示效果如下

    2、th:unless

    相当于“th:i”f条件取反

    示例

    1. <div th:unless="${num1} > 5 ">[[${num1}]]大于5</div>
    2. <div th:unless="${num1} < 5 ">[[${num1}]]小于5</div>

    运行test.do,页面显示效果如下

    3、switch...case

    用于在容器中加载匹配的子元素

    示例

    1. <ul th:switch="${num1}">
    2. <li th:case="6">6</li>
    3. <li th:case="5">5</li>
    4. </ul>

    运行test.do,页面显示效果如下

     文章来源于哔站《五、运算表达式

    更多学习视频和专栏文章请到哔站个人空间: 布道师学院的个人空间-布道师学院个人主页-哔哩哔哩视频

    更多资源和项目下载请到:”开源吧(找实战项目和毕设项目的好网站)“ ​ :开源吧

  • 相关阅读:
    通过RSYNC在linux和windows间同步文件
    《现代音乐人编曲手册_传统管弦乐配器和MIDI》 笔记
    如何配置Nacos的健康检查参数?
    【HTML】制作一个简单的动态SVG图形
    minos 2.1 中断虚拟化——ARMv8 异常处理
    VSCode 搭建 x264 源码调试环境
    ES6 入门教程 17 Promise 对象 17.11 Promise.reject() & 17.12 应用 & 17.13 Promise.try()
    使用Zadig从0到1搭建持续交付平台
    【操作系统】内存管理(一)—— 内存管理的概述与总结
    6. SpringBoot 整合 RabbitMQ
  • 原文地址:https://blog.csdn.net/ouyangqing/article/details/133603005