Spring Boot整合Thymeleaf(Spring Boot官方推薦的視圖層技術)html
Thymeleaf特色:thymeleaf經過特定的語法對html的標記進行渲染。java
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> </parent> <dependencies> <!-- spring boot的web啓動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- thymeleaf 啓動器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> </dependencies>
代碼:web
@Controller public class UserController { /** * 返回一個String的返回值(恆跳轉),而且不是一個異步的ResponseBoby響應 * 框架會自動在templates目錄下查找與之對應的html頁面, * 由Thymeleaf渲染出來。 * 前綴:classpath:/templates 後綴:.html * 若是想要跳轉到控制器,必需要讓前綴和後綴失效,加上forward或redirect */ @RequestMapping("/show") public String showInfo(Model model) { //存儲用戶名字符串,顯示到頁面 model.addAttribute("username","翠花"); //前綴:classpath:/templates 後綴:.html return "index"; } }
用戶名:<span th:text="${username}"></span> <hr/> 用戶名: <input th:value="${username}"/>
用戶名的長度:<span th:text="${#strings.length(username)}"></span> <hr/> 獲取用戶名的姓:<span th:text="${#strings.substring(username,0,1)}"></span>
當前時間:<span th:text="${time}"></span> <hr/> 格式化日期:<span th:text="${#dates.format(time,'yyyy-MM-dd HH:mm:ss')}"></span>
controller:spring
model.addAttribute("sex", "男");
html:瀏覽器
您可能喜歡:<span th:if="${sex}=='男'">籃球,動漫</span>
th:switch
th:case安全
循環迭代遍歷服務器
th:eachsession
1:迭代遍歷list <table border="1" width="50%"> <tr> <td>序號</td> <td>編號</td> <td>姓名</td> <td>年齡</td> </tr> <!--var:狀態變量 index ,count,first last size even odd--> <tr th:each="user,var:${list}"> <td th:text="${var.count}"></td> <td th:text="${user.id}"></td> <td th:text="${user.name}"></td> <td th:text="${user.age}"></td> </tr> </table>
2:迭代遍歷map
...app
//做用域 request,session application request.setAttribute("req", "HttpServletRequest"); request.getSession().setAttribute("sess", "HttpSession"); request.getSession().getServletContext().setAttribute("app", "ServletContext"); <!--頁面部分--> Request數據:<span th:text="${#httpServletRequest.getAttribute('req')}"></span><br/> Session數據:<span th:text="${session.sess}"></span><br/> Application數據:<span th:text="${application.app}"></span><br/>
絕對路徑框架
相對路徑
1:相對於當前項目的根目錄 / <a th:href=」@{/index}」></a> 2: 相對於服務器路徑的根目錄 ~ <a th:href=」@{~/項目名/資源}」></a> <!-- 鏈接 url表達式 --> <a href="http://www.baidu.com">百度一下</a> <a th:href="@{http://www.baidu.com}">百度一下</a> <a th:href="@{/show}">show</a> <hr/> <img src="images/3.jpg" /> <img th:src="@{${img}}" />