Spring Boot中使用thymeleaf以及各種取值,判斷,選擇,擷取等方式
阿新 • • 發佈:2018-12-09
Spring Boot中使用thymeleaf
Spring Boot支援FreeMarker、Groovy、Thymeleaf和Mustache四種模板解析引擎,官方推薦使用Thymeleaf。
spring-boot-starter-thymeleaf
在Spring Boot中使用Thymeleaf只需在pom中加入Thymeleaf的starter即可:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
在Spring Boot 1.5.9.RELEASE版本中,預設的Thymeleaf版本為2.1.6.RELEASE版本,這裡推薦使用3.0以上版本。在pom中將Thymeleaf的版本修改為3.0.2.RELEASE:
<properties> <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version> <thymeleaf-layout-dialect.version>2.0.1</thymeleaf-layout-dialect.version> </properties>
在Spring Boot中,預設的html頁面地址為src/main/resources/templates,預設的靜態資源地址為src/main/resources/static。
Thymeleaf預設配置
在Spring Boot配置檔案中可對Thymeleaf的預設配置進行修改:
#開啟模板快取(預設值:true) spring.thymeleaf.cache=true #Check that the template exists before rendering it. spring.thymeleaf.check-template=true #檢查模板位置是否正確(預設值:true) spring.thymeleaf.check-template-location=true #Content-Type的值(預設值:text/html) spring.thymeleaf.content-type=text/html #開啟MVC Thymeleaf檢視解析(預設值:true) spring.thymeleaf.enabled=true #模板編碼 spring.thymeleaf.encoding=UTF-8 #要被排除在解析之外的檢視名稱列表,用逗號分隔 spring.thymeleaf.excluded-view-names= #要運用於模板之上的模板模式。另見StandardTemplate-ModeHandlers(預設值:HTML5) spring.thymeleaf.mode=HTML5 #在構建URL時新增到檢視名稱前的字首(預設值:classpath:/templates/) spring.thymeleaf.prefix=classpath:/templates/ #在構建URL時新增到檢視名稱後的字尾(預設值:.html) spring.thymeleaf.suffix=.html #Thymeleaf模板解析器在解析器鏈中的順序。預設情況下,它排第一位。順序從1開始,只有在定義了額外的TemplateResolver Bean時才需要設定這個屬性。 spring.thymeleaf.template-resolver-order= #可解析的檢視名稱列表,用逗號分隔 spring.thymeleaf.view-names=
一般開發中將spring.thymeleaf.cache設定為false,其他保持預設值即可。
頁面取值
迴圈取值:
<tr th:each="list,stat : ${accountList}">
<td th:text="${stat.count}"></td> //序號,1,2,3,4,5
<td th:text="${list.account}"></td>
<td th:text="${list.name}"></td>
<td th:text="${list.password}"></td>
<td th:text="${list.accountType}"></td>
<td th:text="${list.tel}"></td>
</tr>
迴圈中狀態,男女,為0,1時,改為中文。
status為。0,1時
<td th:switch="${status}">
<span th:case="0">否</span>
<span th:case="1">是</span>
</td>
一般字串取值:
<td th:text="${list.account}"></td>
<td>[[${list.account}]]</td>
<span th:text="${name}></span>
<span>[[${name}]]</span>
標籤屬性取值
input標籤的value值,id取值,屬性取值前面都加th:
<input type="text" name="adminname" th:value="${adminname}" th:id="${id}" >
標籤迴圈
標籤迴圈,以及迴圈選中,標籤屬性取值
<ul>
<li id="rolehtml">
<span th:each="list:${rolelist}"><input type="checkbox" th:checked="${list.remark1 eq 'checked'}" name="menuId" th:data-id="${list.id}" th:id="${list.id}" th:value="${list.id}" ><label th:for="${list.id}" th:text="${list.rolename}" class="qx-lable">值111</lable></span>
</li>
</ul>
<select name="compId" id="compId">
<option th:each="list:${listc}" th:value="${list.compId}" th:selected="${admin.compId eq list.compId}" th:text="${list.compName }"></option>
</select>
select選中
迴圈選中參考上面。
<select class="form-control" id="flag" name="flag">
<option value="0" th:selected="${admin.flag==0}">否</option>
<option value="1" th:selected="${admin.flag==1}">是</option>
</select>
js取值
<script type="text/javascript">
var num = [[${num}]];
<script>
字串處理
替換金額最後的.0
<td th:text="${#strings.replace(user.loanmoney,'.0','')}">金額(萬元)</td>
<td >[[${#strings.replace(user.loanmoney,'.0','')}]] 金額(萬元)</td>
擷取字串
將電話號碼18360554400顯示為183****4400
<td>[[${#strings.substring(userphone,0,3)}]]<span>****</span>[[${#strings.substring(userphone,7,11)}]] </td>
if判斷
<tr th:if="${pageInfoSize eq 0}">
<td colspan="12">沒有查詢相關記錄</td>
</tr>
checkbox選中
<input type="checkbox" th:checked="${q.remark eq 'checked'}" name="remark1" id="z1" th:value="${}">
更多參考:
https://blog.csdn.net/qq_22860341/article/details/79229181