全部的頁面模板都必定存在有各類基礎邏輯,例如:判斷,循環處理操做。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