Thymeleaf 常用語法

學習完整課程請移步 互聯(lián)網(wǎng) Java 全棧工程師

引入 Thymeleaf

修改 html 標簽用于引入 thymeleaf 引擎,這樣才可以在其他標簽里使用 th:* 語法剂娄,這是下面語法的前提。

<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">

獲取變量值

<p th:text="'Hello韵吨!, ' + ${name} + '!'" >name</p>

可以看出獲取變量值用 $ 符號,對于javaBean的話使用 變量名.屬性名 方式獲取,這點和 EL 表達式一樣.

另外 $ 表達式只能寫在th標簽內(nèi)部,不然不會生效,上面例子就是使用 th:text 標簽的值替換 p 標簽里面的值,至于 p 里面的原有的值只是為了給前端開發(fā)時做展示用的.這樣的話很好的做到了前后端分離.

引入 URL

Thymeleaf 對于 URL 的處理是通過語法 @{…} 來處理的

<a th:href="@{http://www.baidu.com}">絕對路徑</a>
<a th:href="@{/}">相對路徑</a>
<a th:href="@{css/bootstrap.min.css}">Content路徑,默認訪問static下的css文件夾</a>

類似的標簽有:th:hrefth:src

字符串替換

很多時候可能我們只需要對一大段文字中的某一處地方進行替換座掘,可以通過字符串拼接操作完成:

<span th:text="'Welcome to our application, ' + ${user.name} + '!'">

一種更簡潔的方式是:

<span th:text="|Welcome to our application, ${user.name}!|">

當然這種形式限制比較多苞尝,|…|中只能包含變量表達式${…}说铃,不能包含其他常量杨赤、條件表達式等。

運算符

在表達式中可以使用各類算術運算符截汪,例如+, -, *, /, %

th:with="isEven=(${prodStat.count} % 2 == 0)"

邏輯運算符>, <, <=,>=,==,!=都可以使用植捎,唯一需要注意的是使用<,>時需要用它的HTML轉義符:

th:if="${prodStat.count} &gt; 1"
th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')"

條件

if/unless

Thymeleaf 中使用 th:ifth:unless 屬性進行條件判斷衙解,下面的例子中,標簽只有在 th:if 中條件成立時才顯示:

<a th:href="@{/login}" th:unless=${session.user != null}>Login</a>

th:unlessth:if 恰好相反焰枢,只有表達式中的條件不成立蚓峦,才會顯示其內(nèi)容舌剂。

switch

Thymeleaf 同樣支持多路選擇 Switch 結構:

<div th:switch="${user.role}">
  <p th:case="'admin'">User is an administrator</p>
  <p th:case="#{roles.manager}">User is a manager</p>
</div>

默認屬性 default 可以用 * 表示:

<div th:switch="${user.role}">
  <p th:case="'admin'">User is an administrator</p>
  <p th:case="#{roles.manager}">User is a manager</p>
  <p th:case="*">User is some other thing</p>
</div>

循環(huán)

渲染列表數(shù)據(jù)是一種非常常見的場景,例如現(xiàn)在有 n 條記錄需要渲染成一個表格暑椰,該數(shù)據(jù)集合必須是可以遍歷的霍转,使用 th:each 標簽:

<body>
  <h1>Product list</h1>

  <table>
    <tr>
      <th>NAME</th>
      <th>PRICE</th>
      <th>IN STOCK</th>
    </tr>
    <tr th:each="prod : ${prods}">
      <td th:text="${prod.name}">Onions</td>
      <td th:text="${prod.price}">2.41</td>
      <td th:text="${prod.inStock}? #{true} : #{false}">yes</td>
    </tr>
  </table>

  <p>
    <a href="../home.html" th:href="@{/}">Return to home</a>
  </p>
</body>

可以看到,需要在被循環(huán)渲染的元素(這里是)中加入 th:each 標簽一汽,其中 th:each="prod : ${prods}" 意味著對集合變量 prods 進行遍歷避消,循環(huán)變量是 prod 在循環(huán)體中可以通過表達式訪問。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末召夹,一起剝皮案震驚了整個濱河市岩喷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌监憎,老刑警劉巖纱意,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鲸阔,居然都是意外死亡偷霉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門褐筛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來类少,“玉大人,你說我怎么就攤上這事死讹÷鞯危” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵赞警,是天一觀的道長妓忍。 經(jīng)常有香客問我,道長愧旦,這世上最難降的妖魔是什么世剖? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮笤虫,結果婚禮上旁瘫,老公的妹妹穿的比我還像新娘。我一直安慰自己琼蚯,他們只是感情好酬凳,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遭庶,像睡著了一般宁仔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上峦睡,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天翎苫,我揣著相機與錄音权埠,去河邊找鬼。 笑死煎谍,一個胖子當著我的面吹牛攘蔽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播呐粘,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼满俗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了事哭?” 一聲冷哼從身側響起漫雷,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鳍咱,沒想到半個月后降盹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡谤辜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年蓄坏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丑念。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡涡戳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脯倚,到底是詐尸還是另有隱情渔彰,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布推正,位于F島的核電站恍涂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏植榕。R本人自食惡果不足惜再沧,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尊残。 院中可真熱鬧炒瘸,春花似錦、人聲如沸寝衫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慰毅。三九已至屎即,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背技俐。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留统台,地道東北人雕擂。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像贱勃,于是被迫代替她去往敵國和親井赌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容