一、Thymeleaf判断相等
Thymeleaf提供了两种方式来判断相等,分别是使用eq
和==
。
使用eq
:
<p th:text="${name eq 'Tom'}"></p>
如果name
等于Tom
,输出true
;否则输出false
。
使用==
:
<p th:text="${name == 'Tom'}"></p>
使用==
,如果name
等于Tom
,输出true
;否则输出false
。
二、Thymeleaf变量
在Thymeleaf中,可以使用变量来进行数据的传递。
比如,我们在控制器中定义了一个user
对象:
User user = new User(); user.setName("Tom"); model.addAttribute("user", user);
在页面中,我们可以通过th:object
来引用这个对象,然后通过th:text
来输出其中的属性:
<div th:object="${user}"> <p th:text="name"></p> </div>
三、Thymeleaf判断不占位置
在Thymeleaf中,可以使用th:if
语句来进行判断,同时不占用页面的位置。
<div th:if="${name eq 'Tom'}"> <p>Hello, Tom!</p> </div>
如果name
等于Tom
,显示Hello, Tom!
,否则不显示任何内容。
四、Thymeleaf判断一个对象为空
可以使用th:if
与th:unless
对对象进行判断是否为空。
<div th:if="${user == null}"> <p>当前用户为空</p> </div> <div th:unless="${user == null}"> <p>当前用户为<span th:text="${user.name}"></span></p> </div>
如果user
为空,显示当前用户为空
;否则显示当前用户为user.name
。
五、Thymeleaf判断集合
在Thymeleaf中,可以使用th:each
对集合进行遍历,同时可以使用th:if
对元素进行判断。
<div th:each="user: ${users}"> <div th:if="${user.gender == 'male'}"> <p th:text="${user.name} + ' is a male.'"></p> </div> <div th:if="${user.gender == 'female'}"> <p th:text="${user.name} + ' is a female.'"></p> </div> </div>
使用th:if
判断user.gender
的值,如果为male
,输出user.name + ' is a male.'
,否则输出user.name + ' is a female.'
。
六、Thymeleaf判断是否为字符串类型
可以使用th:if
与th:unless
判断变量是否为字符串类型。
<div th:if="${name.getClass().getName() == 'java.lang.String'}"> <p>${name}是字符串类型</p> </div> <div th:unless="${name.getClass().getName() == 'java.lang.String'}"> <p>${name}不是字符串类型</p> </div>
七、Thymeleaf判断是否为浮点数类型
可以使用th:if
与th:unless
判断变量是否为浮点数类型。
<div th:if="${price.getClass().getName() == 'java.lang.Float'}"> <p>${price}是浮点数类型</p> </div> <div th:unless="${price.getClass().getName() == 'java.lang.Float'}"> <p>${price}不是浮点数类型</p> </div>
八、Thymeleaf判断是否为数字
可以使用th:if
与th:unless
判断变量是否为数字。
<div th:if="${price.getClass().getName() == 'java.lang.Integer' || price.getClass().getName() == 'java.lang.Double'}"> <p>${price}是数字类型</p> </div> <div th:unless="${price.getClass().getName() == 'java.lang.Integer' || price.getClass().getName() == 'java.lang.Double'}"> <p>${price}不是数字类型</p> </div>
九、Thymeleaf判断某一个key存在
可以使用th:if
与th:unless
判断某个key是否存在。
<div th:if="${user.containsKey('name')}"> <p>${name}存在</p> </div> <div th:unless="${user.containsKey('name')}"> <p>${name}不存在</p> </div>
十、Thymeleaf判断登录用户的角色
可以在控制器中定义一个role
变量,然后在页面中使用th:switch
语句来判断用户角色:
<div th:switch="${role}"> <p th:case="'admin'">您是管理员</p> <p th:case="'user'">您是普通用户</p> <p th:case="'guest'">您是游客</p> </div>
以上就是Thymeleaf判断的详细内容,不同的判断方式可以根据实际需要进行选择。