Thymeleaf常用th標籤

Thymeleaf常用th標籤
關鍵字 功能介紹 案例
th:id 替換id <input th:id="'xxx' + ${collect.id}"/>
th:text 文本替換,包括html標籤
若home.welcome=Welcome to our <b>fantastic</b> grocery store!
用<p th:text="#{home.welcome}"></p>解析結果爲:
<p>Welcome to our <b>fantastic</b> grocery store!</p>
th:utext 文本替換,html標籤會顯示出正確的樣式 <p th:utext="#{home.welcome}"></p>即可。
   Welcome to our fantastic grocery store!
等效於html :<p>Welcome to our <b>fantastic</b> grocery store!</p>
th:object 替換對象

用於表單數據對象綁定,將表單綁定到後臺controller的一個JavaBean參數。常與th:field一起使用進行表單數據綁定。
例如:

public class LoginBean implements Serializable{
    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String login(@ModelAttribute(value = "loginBean") LoginBean    loginBean,ModelMap model) {...}
}

<form id="login-form" th:action="@{/login}" th:object="${loginBean}">...</form>

 

th:value 屬性賦值 <input th:value = "${user.name}" />
th:with 定義局部變量。
<div th:with="firstPer=${persons[0]}">
  <p>
    The name of the first person is <span th:text="${firstPer.name}">Julius Caesar</span>.
  </p>
</div>

當th:with被處理,firstPer變量創建一個局部變量和變量添加到map自上下文,
以便它是用於評估和其他上下文中聲明的變量從開始,但只有包含< div >標記的範圍內。

如果定義多個局部變量

<div th:with="firstPer=${persons[0]},secondPer=${persons[1]}">

th:style 設置樣式 <div th:style="'display:' + @{(${sitrue} ? 'none' : 'inline-block')} + ''"></div>
th:onclick 點擊事件 <td th:onclick = "'getCollect()'"></td>
th:each 屬性賦值 <tr th:each = "user,userStat:${users}">
th:if 判斷條件 <a th:if = "${userId}"> 如果userId不爲空就執行a標籤
th:unless 和th:if判斷相反 <a th:href="@{/login} th:unless=${session.user != null}">Login</a>
th:href 鏈接地址 <a th:href="@{/login}" th:unless=${session.user != null}>Login</a>
th:switch 多路選擇配合th:case使用
<div class="col-sm-9">
    <div th:switch="${channel.enable}">
        <p th:case="'1'">
            <input id="enable" name="enable" type="radio" class="ace" value="1" checked="checked" />
            <span class="lbl">啓用</span>
            <input id="enable1" name="enable" type="radio" class="ace" value="0" />
            <span class="lbl">停用</span>
        </p>
        <p th:case="'0'">
            <input id="enable2" name="enable" type="radio" class="ace" value="1" />
            <span class="lbl">啓用</span>
            <input id="enable3" name="enable" type="radio" class="ace" value="0" checked="checked" />
            <span class="lbl">停用</span>
        </p>
    </div>
</div>

 

th:fragment 自定義片段

定義fragment
所有的fragment可以寫在一個文件裏面,也可以單獨存在,例如

    <footer th:fragment="copy">  
       the content of footer
    </footer>
fragment的引用

    th:insert:保留自己的主標籤,保留th:fragment的主標籤。
    th:replace:不要自己的主標籤,保留th:fragment的主標籤。
    th:include:保留自己的主標籤,不要th:fragment的主標籤。(官方3.0後不推薦)

    導入片段:
    <div th:insert="footer :: copy"></div>  
     
    <div th:replace="footer :: copy"></div>  
     
    <div th:include="footer :: copy"></div>
     
    結果爲:
    <div>  
        <footer>  
           the content of footer   
        </footer>    
    </div>    
     
    <footer>  
        the content of footer
    </footer>    
     
    <div>  
        the content of footer
    </div> 

th:replace=”thymeleaf的根目錄+片段的html名+ :: +自定義的片段名”

th:include 佈局標籤,替換內容到引入的文件  
th:replace    
th:selectd selected選擇框選中 th:selected="(${xxx.id} == ${configObj.dd})"
th:src 圖片類地址引入 <img class="img-responsive" alt="App Logo" th:src="@{/img/logo.png}" />
th:inline 定義js腳本可以使用變量 <script type="text/javascript" th:inline="javascript">
th:action 表單提交的地址 <form action="subscribe.html" th:action="@{/subscribe}">
th:remove 刪除某個屬性 <tr th:remove="all">
1.all:刪除包含標籤和所有的孩子。
2.body:不包含標記刪除,但刪除其所有的孩子。
3.tag:包含標記的刪除,但不刪除它的孩子。
4.all-but-first:刪除所有包含標籤的孩子,除了第一個。
5.none:什麼也不做。這個值是有用的動態評估。
th:attr 設置標籤屬性,多個屬性可以用逗號分隔 比如 th:attr="src=@{/image/aa.jpg},title=#{logo}",此標籤不太優雅,一般用的比較少。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章