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日期格式处理。
-
laravel如何封装函数全局调用
laravel如何封装函数,实现全局调用。我们就拿PHPAnalysis分词程序作为例子来演示下。PHPAnalysis分词程序使用居于unicode的词库,使用反向匹配模式分词,理论上兼容编码更广泛,并且对utf-8编码尤为方便。
-
java如何切分割字符串
在我们日常工作中经常遇到截取字符串的需求,这里重点介绍两种常见的java截取字符串方法。
-
css鼠标悬停变色:超链接字体随鼠标悬停颜色改变实现
css设置超链接鼠标悬停字体上时字体变颜色,css设置鼠标悬停变色布局。鼠标悬停字体上文字变色,通常针对超链接锚文本字体颜色改变,使用了伪类:hover。
-
Spring Boot 如何解决跨域问题
SpringBoot 如何解决跨域问题方法,CORS全称Cross-Origin Resource Sharing,意为跨域资源共享。当一个资源去访问另一个不同域名或者同域名不同端口的资源时,就会发出跨域请求。如果此时另一个资源不允许其进行跨域资源访问,那么访问的那个资源就会遇到跨域问题。
-
如何监听客户端的网络速度及质量
在实际形况中,站点及应用可以满足绝对的流畅性,但是用户的网络环境千变万化,尤其是移动端用户,这种情况情况下页面加载速度的瓶颈完全就取决于用户的网络环境。通过浏览器的 Network Information API 接口中提供的Navigator对象的connection属性,来评估用户的连接速度以及设备所处的网络类型。
-
laravel Request的所有方法详解
laravel Request的所有方法详解,laravel实现如何获取cookie、表单参数、提交的文件、laravel如何获取网址url、路径、ip、端口等。
-
SpringBoot中的异常处理的详细教程
SpringBoot中的异常处理的详细教程,处理用户请求出现运行时异常时直接响应给用户的是一个错误界面,对于用户的使用体验不友好。什么是全局异常处理机制,用来解决整个系统中任意一个控制器抛出异常时的统一处理入口,如何使用全局异常处理类 implements HandlerExceptionResolver,之后重写接口中的resolveException方法。
-
通过 Composer 安装laravel
laravel的安装方式有很多种,推荐大家通过Composer安装laravel,下面是在linux系统中使用Composer安装laravel框架的方法。
-
js在for循环中的闭包的解决方法
js在for循环中的闭包的解决方法,实现点击li标签获取标签的所处位置。for循环在javascript中适用频率是非常高的,当我们在for循环中嵌套一个函数,并且执行了这个时候就会成型闭包。
-
什么是html
html,全称Hypertext Markup Language,也就是“超文本链接标示语言”。HTML文本是由 HTML命令组成的描述性文本,HTML 命令可以说明文字、 图形、动画、声音、表格、链
-
linux系统CentOS发送邮件
如何在linux、ubuntu、centos系统中发送邮件,如定时发送网站日志,或者服务器信息状态,如何在centos系统中配置邮件发送功能。
-
vue 如何监听滚动至底部
vue如何实现触底判断,实现无限加载等功能。当我们需要实现无限加载的时候,即实现瀑布流的功能的时候,核心就是监听页面的滚动事件,当滚动触底的时候去请求加载数据,既可以实现无限加载下拉。
-
百度富文本编辑器超链接添加nofollow
如何给百度富文本编辑器超链接添加nofollow,即如何给百度文本编辑器添加一个nofollow标签添加的功能,可以方便文本编辑超链接的时候,对站外或者站内的链接添加nofollow标签,有效的防止站点权重的分散。
-
js中的数组元素的添加方法
js中的数组元素的添加方法,主要有三种方法,用索引元素添加、push( )方法、unshift()方法,push()方法在数组的尾部添加一个或多个元素,并返回数组新的长度,修改并替换了原始数组而非生成一个修改版的新数组。
-
php如何检测mysql数据库连接正确
php下如何测试MYSQL数据库是否连接正常。分享一个快速检测数据库连接正确的方法,选择一张有数据的表,打印其中的一个参数。能够正常的输入数据库数据那么链接觉得没有问题。