thymeleaf学习笔记

公司的项目使用的是thymeleaf进行数据的绑定,在网上搜索了一些资料,进行一些简单的记录,以备复习之用。

1.简单表达式
变量表达式:${...} 例如:${my.name}
选择性/星号表达式:*{...} 一般是 th:object 后 取的 object中的属性,当没有选取对象时,功能等同于${...},*{firstName}也等同于${#object.firstName}
消息表达式:#{...}
链接表达式:@{...}
<div th:object="${session.user}">
<p>Name:<span th:text="*{firstName}">Seb</span>.</p>
<p>Surname:<span th:text="*{lastName}">Pep</span>.</p>
</div>
等价于
<div >
<p>Name:<span th:text="${session.user.firstName}">Seb</span>.</p>
<p>Surname:<span th:text="${session.user.lastName}">Pep</span>.</p>
</div>
<script th:src="@{//scriptserver.example.net/myscript.js}">...</script>
等价于
<script src="//scriptserver.example.net/myscript.js">...</script>
2.文字
2.1 文本(text literals)(放在单引号里面,可以是任意字符)
<div th:class="‘the content’">...</div>
  2.2 数字(number literals)
<p>The year is <span th:text="2013">1492</span>.</p>
<p>In two years, it will be <span th:text="2013 + 2">1494</span>.</p>
结果是:The year is 2013.
The year is 2015.
  2.3 布尔值(boolean literals):true,false
<div th:if="${user.isAdmin()} == false">
<div th:if="${user.isAdmin() == false}">
2.4  null(the null literal):null
<div th:if="${variable.something} == null">
   2.5 文字符号(literal tokens)(不需单引号):
<div th:class="content">...</div>
3.文本操作符
3.1.字符串并置:+ (就是普通的连接符号)
3.2.文字替换:|The name is ${name}|
4.算数运算符
+, -, *, /, %
<ol>
  <li>+:<span th:text="1+1">1+1</span>.</li>
  <li>-: <span th:text="2-1">2-1</span>.</li>
  <li>*:<span th:text="2*3">2*3</span>.</li>
  <li>/: <span th:text="9/4">9/4</span>.</li>
  <li>%:<span th:text="9%4">9%4</span>.</li>
</ol>
5.布尔运算
<ol>
<li>and:<span th:if="${!#lists.isEmpty(list)} and ${#lists.isEmpty(list2)}" th:text="${!#lists.isEmpty(list)} and ${!#lists.isEmpty(list2)}">and</span>
</li>
<li>or:<span th:if="${!#lists.isEmpty(list)} or ${#lists.isEmpty(list)}"
th:text="${!#lists.isEmpty(list)} or ${#lists.isEmpty(list)}">or</span>
</li>
<li>!(not):<span th:if="${!#lists.isEmpty(list)}"
th:text="${!#lists.isEmpty(list)}">not</span>
</li>
</ol>
6.比较和相等运算符
<ol>
<li>>(gt):<span th:if="${#lists.size(list)} > 1">大于></span>else</li>
<li>小于lt:<span th:if="${#lists.size(list)} lt 1">小于</span>else</li>
<li>>=(ge):<span th:if="${#lists.size(list)} >= 1">大于等于>=</span>else</li>
<li>小于等于(le):<span th:if="${#lists.size(list)} le 1">小于等于</span>else</li>
<li>!(not):<span th:if="${!#lists.isEmpty(list)}">!(not)</span>else</li>
<li>==(eq):<span th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')">等于==</span></li>
<li>!=(ne/neq):size:<span th:text="${#lists.size(list)}" th:if="${#lists.size(list)} != 1"> </span></li>
</ol>
7.条件表达式
<1>a ? b:c  (if then:else)
<2>a?c (if else)
例如:
<li>? 'xx' :'xx'(if ? then:else)<span th:class="${title} ? 'green' :' red'">样例一</span></li>
<li>?'xx'(if ? then)<span th:class="${title1} ? 'green'">样例二</span></li>
8.默认表达式
语法: ?: (if:defaultValue)
<div th:object=${session.user}>
<p>Age:<span th:text="*{age}? : '(no age specified)' ">27</span>.</p>
</div>
等价于
<div th:object=${session.user}>
<p>Age:<span th:text="*{age!=null}? *{age} : '(no age specified)' ">27</span>.</p>
</div>

8.th:each
<select th:field="*{departmentId}" style="width:100px;">
<option th:each="department : ${allDepartments}"
th:value="${department .id}" th:text="${department .name}">Credit</option>
</select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值