添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1.写在前面

th:if、th:unless、th:switch、th:case 这几个属性,其实和JSP里面的那些标签都是类似的,含义就可以理解为Java语言中的if、else、switch-case这些条件判断一样,所以这里就不再详细叙述了,下面就直接给出例子!!!

2.应用举例

首先写一个控制层, 其中有一个请求方法。

package com.songzihao.springboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class UserController {
    @RequestMapping(value = "/condition")
    public String condition(Model model) {
        model.addAttribute("sex","男");
        model.addAttribute("flag",true);
        model.addAttribute("status",0);
        return "condition";
 

然后是对应的html页面。

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
    <meta charset="UTF-8">
    <title>条件判断</title>
</head>
    <h2>th:if 用法:如果满足条件显示(执行),否则相反</h2>
    <div th:if="${sex eq '男'}">
    <div th:if="${sex eq '女'}">
        woman
    <h2>th:unless 用法:与th:if相反</h2>
    <div th:unless="${status != 1}">
        状态为0,不太行
    <div th:unless="${status ne 0}">
        状态为1,真不错
    <h2>th:switch/th:case 用法</h2>
    <div th:switch="${flag}">
        <span th:case="true">真</span>
        <span th:case="false">假</span>
        <span th:case="*">无此布尔值</span>
</body>
</html>

最后是我们的核心配置文件(只有一行:关闭Thymeleaf的页面缓存)、项目启动入口类。

spring.thymeleaf.cache=false
package com.songzihao.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
				
1)如果表达式结果为布尔值,则为 true 或者 false 2)如果表达式的值为 null,th:if 将判定此表达式为 false 3)如果值是数字,为 0 时,判断为 false;不为零时,判定为 true 4)如果 value 是 String,值为 “false”、“off”、“no” 时,判定为 false,否则判断为 true,字符串为空时,也判断为 true 5)如果值不是布尔值,数字,字符或字符串的其它对象,只要不为 null,则判断为 true
条件判断使用th:if,它会判断表达式是否成立,表达式的结果支持boolean、number、character、String及其他类型。 满足下面情况下,if语句成立: (1) 表达式的结果是数字且不是0 (2) 表达式的结果是字符串且不是false、off、no、0 (3) 表达式的结果是其他数据类型switch case语句 (1) 类似Javaswitch case语句:th:... th:if 如果值为true 则显示出该标签 否则 不显示(隐藏) #lists.isEmpty(userList) true 集合为空 #lists.isEmpty(userList) false 集合非空 <h3 th:if ="not ${#lists.isEmpty(userList)}">显示 出来userList非空 </h... 1 th:action 定义后台控制器的路径,类似<form>标签的 action 属性,主要结合 URL 表达式,获取动态变量 2 th:method设置请求方法<form id="login" th:action="@{/login}" th:method="post">......</form> 3th:href定义超链接,主要结合 URL 表达式,获取动态变量 4th:sr...
Thymeleaf介绍 简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增...
学习视频: http://www.itlaoqi.com/chapter/1688.html 源码地址: QQ群 814077650 , 群共享自助下载 老齐的官网: itlaoqi.com (更多干货就在其) 页面显示Model的变量 使用${}获取Model的属性值 在标签增加th:t... 写了一个页面页面,新增,编辑,查看用的都是同一个页面。编辑和查看没问题,menu.price是有值的。   <input type="number" name="price" th:value="${menu.price}"placeholder="请设置您价格" required> 新增就报错了... 在上面的示例,我们使用 `th:if` 属性来判断 `user` 对象是否为空。如果不为空,则渲染 `div` 元素及其子元素;否则,不渲染任何内容。在 `div` 元素,我们使用 `th:text` 属性来显示用户的名字。 除了判断对象是否为空,还可以使用 `th:if` 来判断表达式是否为真。例如: ```html <div th:if="${user.age > 18}"> <p>You are old enough to vote!</p> 在上面的示例,我们使用 `th:if` 属性来判断用户的年龄是否大于 18。如果为真,则渲染 `div` 元素及其子元素;否则,不渲染任何内容。在 `div` 元素,我们显示一条消息,告诉用户他/她已经足够年龄参加投票。