全部的页面模板都必定存在有各类基础逻辑,例如:判断,循环处理操做。javascript
在 Thymeleaf 之中对于逻辑能够使用以下的一些运算符来完成,例如:and、or、关系比较(>、<、>=、<=、==、!=、lt、gt、le、ge、eq、ne)。html
一、经过控制器传递一些属性内容到页面之中:java
package cn.mldn.microboot.controller; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import cn.mldn.microboot.util.controller.AbstractBaseController; import cn.mldn.microboot.vo.Member; @Controller public class MessageController extends AbstractBaseController { @RequestMapping(value = "/message/member_show", method = RequestMethod.GET) public String memberShow(Model model) { Member vo = new Member(); vo.setMid(101L); vo.setName("啊三"); vo.setAge(9); vo.setSalary(99999.99); vo.setBirthday(new Date()); model.addAttribute("member", vo); return "message/member_show"; } }
member_show.htmlweb
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>SpringBoot模版渲染</title> <script type="text/javascript" th:src="@{/js/main.js}"></script> <link rel="icon" type="image/x-icon" href="/images/mldn.ico"/> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> </head> <body> <span th:if="${member.age lt 18}"> 未成年人! </span> <span th:if="${member.name eq '啊三'}"> 欢迎小三来访问! </span> </body> </html>
二、除了这种作法以外还能够实现不知足条件的判断:spring
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>SpringBoot模板渲染</title> <link rel="icon" type="image/x-icon" href="/images/favicon.ico" /> <meta http-equiv="Content-Type" content="text/html;charse=UTF-8"> </head> <body> <span th:unless="${member.age gt 18}"> 你还不满18岁,不可以看电影! </span> </body> </html>
三、在开发之中还会使用到switch这样的语句来进行多内容的判断app
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>SpringBoot模板渲染</title> <link rel="icon" type="image/x-icon" href="/images/favicon.ico" /> <meta http-equiv="Content-Type" content="text/html;charse=UTF-8"> </head> <body> <span th:switch="${member.mid}"> <p th:case="100">uid为101的员工来了</p> <p th:case="99">uid为102的员工来了</p> <p th:case="*">没有匹配成功的数据!</p> </span> </body> </html>
在thymeleaf之中实现的switch语句之中并无default的存在,若是要使用default功能就采用th:case="*"的模式完成匹配处理。less