首页 >  编程教程 >  java教程 >  正文

SpringBoot——Thymeleaf中的条件判断

1689

Thymeleaf是一个HTML5模板引擎,可用于Web环境中的应用开发。Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式。
thymeleaf里,if是有的,但没有else。不过,可以将if + unless结合起来使用。if好理解,但unless比较费劲。unless这个单词的意思是“除非”,但是在这里的话,后面还有一句话,完整理解是:“除非。。。才不”。
th:if、th:unless、th:switch、th:case 这几个属性,其实和JSP里面的那些标签都是类似的,含义就可以理解为Java语言中的if、else、switch-case这些条件判断一样,所以这里就不再详细叙述了,下面就直接给出例子!!!

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

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";
    }
 
}

Thymeleaf中的条件判断

然后是对应的html页面

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

if语句

thymeleaf里,if是有的,但没有else。不过,可以将if + unless结合起来使用。

<block th:fragment="list_cmd(id,btns)">
    <div th:id="${id ?: 'toolbar1'}">
        <div class="layui-btn-container">

            <!--/* btns不为空时显示 */-->
            <block th:if="${btns}" >
                <th:block th:replace="${btns}" />
            </block>

            <!--/* btns为空时显示(除非btns不为空才不显示) */-->
            <block th:unless="${btns}" >
                <div class="layui-inline">
                    <th:block th:include="::btnAdd" />
                </div>
                <div class="layui-inline">
                    <th:block th:include="::btnDel" />
                </div>
            </block>

        </div>
    </div>
</block>

申明:本站内容仅代表个人观点,仅供学习参考;未经授权任何个人或组织单位不得复制、转载、摘编以及其它形式的应用! 本站文章可能使用到互联网上的资料,若对您造成困扰,请联系 kk19@foxmail.com除理 本文地址:https://www.chateach.com/it/java/921if
相关文章
  • springBoot之Thymeleaf常见语法

    springBoot,Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。

    1240
    • springBoot
    • Thymeleaf
  • SpringBoot--Thymeleaf日期格式处理

    Thymeleaf,日期格式

    Thymeleaf作为众多模板引擎中的一种,我最初也是对它充满了陌生,在SpringBoot如何处理时间格式,SpringBoot--Thymeleaf日期格式处理。

    965
    • Thymeleaf
    • 日期格式
  • 解决百度UEditor富文本编辑器回车追加P标签问题

    UEditor,百度富文本编辑器,p标签

    网站的教程很多但是都比较复杂,给大家分享一个1秒可以解决百度富文本编辑器强制自动追加P标签的问题的方法。百度富UEditor富文本编辑器有一个坑就是无论你怎么修改只要你回车或者换行了就会强行追加一个P标签,会严重的影响到我们正常排版。

    2407
    • UEditor
    • 百度富文本编辑器
    • p标签
  • laravel定义全局常量的方法

    laravel全局常量

    在 Laravel项目中有时我们会需要一些全局函数和常量,那么在laravel如何定义一个全局的常量,以及如何的使用全局常量。

    1309
    • laravel全局常量
  • php将多维数组根据某个键倒序/升序

    多维数组排序

    php将多维数组根据某个键倒序/升序,一维数组可以用一个简单的krsort() 函数进行升序排列,或者使用 arsort() 函数进行降序排列 。但是如何是多维数组那么情况就会复杂很多,没有可以直接实现多维数组按照某个键值进行排序的函数。

    2169
    • 多维数组排序
  • centos下修改ssh端口

    ssh端口,

    服务器如何修改默认的ssh端口,修改ssh默认端口是非常有必要的可以保证登陆的安全性。

    1239
    • ssh端口
  • php如何匹配特定的汉字字母英文preg_match_all方法实现

    preg_match_all,php匹配字符串

    php如何从字符串匹配特点的内容,preg_match_all如何匹配字符串内容,数字、字符、字母,正则匹配,php正则表达式中preg_match_all函数的详解。

    1082
    • preg_match_all
    • php匹配字符串
  • 通过 Composer 安装laravel

    Composer ,laravel

    laravel的安装方式有很多种,推荐大家通过Composer安装laravel,下面是在linux系统中使用Composer安装laravel框架的方法。

    911
    • Composer
    • laravel
  • laravel url路由中存在双斜杠(//)造成404问题

    laravel路由双斜杠

    解决在laravel框架下,网站的首页后面加上双斜杠(//),页面显示的尽然不是首页,是一个空白的页面状态码是200,或者报404错误。

    1931
    • laravel路由双斜杠
  • Java字符串的替换replace()、replaceFirst()和replaceAll()

    java,字符串

    Java字符串的替换replace()、replaceFirst()和replaceAll(),如何匹配替换字符串中的内容。

    765
    • java
    • 字符串
  • 如何修改重置mysql密码

    重置mysql密码

    人生处处充满着意外,忘记了mysql密码无法登陆数据库,就需要重置mysql密码,今天以linux环境下的mysql数据密码的重置。大致的原理就是设置跳过数据库密码,然后设置登陆密码,在恢复数据登陆权限。

    761
    • 重置mysql密码
  • linux换将下安装Composer的方法

    Composer安装

    linux换将下安装Composer的方法,对于需要使用laravel框架开发站点,安装Composer是非常有必要的,可以使得laravel的安装管理变得更加的方便快捷。

    1096
    • Composer安装
  • Springboot如何生成cookie,获取cookie信息

    Springboot,cookie

    Springboot如何生成cookie,获取cookie信息,cookie就是一个小体积的键值对,格式:key=value;客户端和服务器端,通常使用http协议来进行数据传输,而http协议是无状态的。也就是客户端向同一个服务器端发送的第一次Request和第二次Request,是没有关联的。需要cookie来保存一些用户信息,每次向相同的域名(domian)和路径(path)发送Request时都会携带cookie。

    1032
    • Springboot
    • cookie
  • springboot网站搭建部署详细流程

    springboot

    linux环境如何搭建java框架springboot,为大家演示一种快速简单的搭建springboot的方法。由于springboot是java的众多框架之一,因此需要部署好java的运行环境,即服务器安装好jdk18以及tomcat3,注意版本的兼容性。

    1287
    • springboot
  • laravel下数据密码正确但还是无法连接

    laravel数据库链接

    使用laravel框架的时候,数据的密码确认是正确的但是就是无法连接成功数据库。出现这种情况往往并不是数据库的配置或者密码等参数存在问题,其实你只是少了非常关键的一步清空配置缓存。

    1322
    • laravel数据库链接
  • 网站本地服务器搭建

    centos系统安装

    网站搭建第一步本地服务器的架设centos系统安装,对于刚接触网站编程的小伙伴不要先急着去购买服务器,当然土豪请随意。我们可以现在自己电脑上本地搭建一个虚拟服务器环境来运行,可以检测下自己是不是真的能力去搭建一个网站。

    996
    • centos系统安装
  • 原生AJAX请求实例教程

    AJAX

    如何使用原生javascript进行ajax数据请求呢?可以不重新加载整个网页通过刷新网页部分内容达到数据的更新展示。可以有效的降低对带宽的需求,提高网页的性能;Ajax有同步和异步两种实现方式。

    1110
    • AJAX
  • laravel中如何获取和设置cookie操作

    laravel ,cookie操作

    在laravel框架中 cookie的优势在于,laravel在底层会对cookie值进行加密,并且使用授权码进行签名,如果客户端修改了cookie值,那么就会失效。会比直接在php中使用cookie更加严谨安全,当然为了laravel中cookie的操作方法会与php原生的方法有所区别,虽然也可以使用php原生的方法操作,但是不推荐。

    1258
    • laravel
    • cookie操作
-- 这已经是底线了,看看别的把! --