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";
}
}
然后是对应的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>
相关文章
-
springBoot之Thymeleaf常见语法
Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。
-
SpringBoot--Thymeleaf日期格式处理
Thymeleaf作为众多模板引擎中的一种,我最初也是对它充满了陌生,在SpringBoot如何处理时间格式,SpringBoot--Thymeleaf日期格式处理。
-
php获取当前时间操作
在PHP语言中我们如何获取当前时间呢?只要通过date()和time()函数组合使用实现。
-
Java如何生成随机字符串
Java如何生成随机字符串,先定义一个基础字符串(即生成的每一个随机字符串里的每一个字符都要包含在这个基础字符串里面),包含字符"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"。
-
centos系统如何修改超级管理员root用户名
centos系统修改超级管理员root用户名实例演示,只要简单的将超级管理员root用户修改掉,那么被暴力破解几率就会直线下降。
-
java中的JDK、JRE、JVM三者的区别
java中的JDK、JRE、JVM三者的区别,JDK是 Java 语言的软件开发工具包(SDK);JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JVM(Java Virtual Machine),即java虚拟机, java运行时的环境,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
-
lnmp环境简介
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
-
如何修改重置mysql密码
人生处处充满着意外,忘记了mysql密码无法登陆数据库,就需要重置mysql密码,今天以linux环境下的mysql数据密码的重置。大致的原理就是设置跳过数据库密码,然后设置登陆密码,在恢复数据登陆权限。
-
百度富文本编辑器超链接添加nofollow
如何给百度富文本编辑器超链接添加nofollow,即如何给百度文本编辑器添加一个nofollow标签添加的功能,可以方便文本编辑超链接的时候,对站外或者站内的链接添加nofollow标签,有效的防止站点权重的分散。
-
如何监听客户端的网络速度及质量
在实际形况中,站点及应用可以满足绝对的流畅性,但是用户的网络环境千变万化,尤其是移动端用户,这种情况情况下页面加载速度的瓶颈完全就取决于用户的网络环境。通过浏览器的 Network Information API 接口中提供的Navigator对象的connection属性,来评估用户的连接速度以及设备所处的网络类型。
-
php如何检测mysql数据库连接正确
php下如何测试MYSQL数据库是否连接正常。分享一个快速检测数据库连接正确的方法,选择一张有数据的表,打印其中的一个参数。能够正常的输入数据库数据那么链接觉得没有问题。
-
springboot如何对html进行转义及恢复
Spring HtmlUtils把HTML编码转义,可将HTML标签互相转义,HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。
-
原生js 复制内容到剪切板代码实现
有时候为了提升用户体验,比如在某些页面需要实现点击内容,将内容复制到剪切板,可以提升用户复制内容的操作效率;因此在实际操作中通过一定的事件触发复制功能是非常有意义的行为,下面是两种通过原生js实现复制内容到剪切板。
-
Springboot如何生成cookie,获取cookie信息
Springboot如何生成cookie,获取cookie信息,cookie就是一个小体积的键值对,格式:key=value;客户端和服务器端,通常使用http协议来进行数据传输,而http协议是无状态的。也就是客户端向同一个服务器端发送的第一次Request和第二次Request,是没有关联的。需要cookie来保存一些用户信息,每次向相同的域名(domian)和路径(path)发送Request时都会携带cookie。
-
使用nginx部署vue项目
使用nginx部署vue项目,node自己本身可以作为服务器进行驱动,但是node本身对文件的处理能力并不是很好,所以当我们的生产环境中应尽量使用nginx来处理静态的资源以及反向代理,同时也解决了node分布式以及负载均衡的相关问题。
-
vue 如何监听滚动至底部
vue如何实现触底判断,实现无限加载等功能。当我们需要实现无限加载的时候,即实现瀑布流的功能的时候,核心就是监听页面的滚动事件,当滚动触底的时候去请求加载数据,既可以实现无限加载下拉。
-
Vue 中使用 localStorage 详解
什么是localStorage,与cookie的区别是什么,localStorage的生存期、数据结构、域名限制、浏览器支持;localStorage常用方法,存储数据setItem、读取数据getItem、修改数据、删除数据。
-
原生AJAX请求实例教程
如何使用原生javascript进行ajax数据请求呢?可以不重新加载整个网页通过刷新网页部分内容达到数据的更新展示。可以有效的降低对带宽的需求,提高网页的性能;Ajax有同步和异步两种实现方式。