thymeleaf常用标签

1.1 th:text 用于文本的显示,并且可以进行简单的计算。

<td  th:text="${username}">mlm</td> -> <td>maliming</td>

<td  th:text="9+7">2018</td> -> <td>16</td>

1.2 th:utext 用于html的文本替换,常用于富文本编辑器编辑后的内容显示到前台页面上。

<p th:utext="${article.content}"></p> -> <p>my name is <b>maliming</b></p>

1.3 th:if 用于判断条件,还可以多条件 and,or(二元操作符),!,not非(一元操作符)。

<div th:if="${user} != null">show</div>如果user对象为空则不显示,不为空则显示
<div th:if="${user} != null and ${otherUser} != null">show</div> 

运算符还可以写在${}里

<div th:if="${user.number > 100}">show</div> -> <div>show</div> 

运算符放在了 {} 内部, 此时整个 {} 内的表达式用 ognl/spel 引擎计算; 如果运算符放在外部, 那么 thymeleaf 引擎负责计算。


1.4 th:unless 用于判断条件,与th:if作用相反。

<div th:if="${user} != null">show</div>如果user对象不为空则不显示,为空则显示

1.5 th:switch th:case 用于多个同等级相同目的判断,多选一时使用。

<div th:switch="${user.name}">    
    <p th:case="maliming">first</p>
    <p th:case="${otherUser.name}">second</p>
</div>

若${user.name}中的值为maliming则显示,否则不显示


1.6 th:action 用于定义后台控制器的路径,表单的提交地址,相当于标签的action属性。

<form th:action="@{user/login}" method="post"></form>

1.7 th:each 用于遍历集合中的对象,相当于jstl中的<c:forEach>标签。
List集合循环遍历

<tr th:each="user,userStat:${messages.list}">    
	<td th:text="${user.name}"></td>   
	 <td th:text="userStat.index"></td>
 </tr>

其中的user是临时变量,相当于for(User user : users)中的user,userStat称为状态变量,属性有
index:当前迭代对象的index(从0开始计算)
count: 当前迭代对象的index(从1开始计算)
size:被迭代对象的大小
current:当前迭代变量
even/odd:布尔值,当前循环是否是偶数/奇数(从0开始计算),
first:布尔值,当前循环是否是第一个
last:布尔值,当前循环是否是最后一个

Map集合循环遍历

<div th:each="map:${maps}" th:text="${map}"></div>

数组循环遍历

<tr>    
	<td th:each="array:${arrays}" th:text="${array}"></td>
</tr>

1.8 th:value 用于属性赋值。

<option th:value="${user.name}"></option> -> <option value="maliming"></option>

1.9 th:src 用于外部资源的引入,例如图片,js文件。

<img th:src="@{../images/myself.jpg}"/>或<script th:src="@{../static/login.js}"></script>

1.10 th:href 用于定义超链接,相当于标签的href属性。

<a th:href="@{/user/selectUser?(currentPage=1,reTypeid=${reTypeid},inquiry=${inquiry})}"></a> 

()括号中的参数会被传入对应的控制器


1.11 th:selected 用于选择框设置选中值。通常和th:each一起使用。

<select>    
	<option th:selected="${user.name} == ${otherUser.name}"></option> 若相等就默认选中此项
</select>

1.12 th:object 用于表单数据对象绑定,后台controller中参数保持一致,和选择(星号)表达式。

<form th:object="${user}">  
   <input th:value="*{name}"/> *号代替了${user}
</form>

对应的后台控制器

public ModelAndView addUser(@RequestParam(value = "user") User user,ModelMap model){}

1.13 th:attr 用于设置任意属性

<input th:attr="value=${user.name}"/> 设置单个属性。
<input th:attr="value=${user.username},name=username"/> 设置多个属性之间用逗号隔开。

猜你喜欢

转载自blog.csdn.net/m0_37556444/article/details/82953035