首页 > 编程笔记 > Java笔记 阅读:25

Thymeleaf th:if和th:unless的用法(附带实例)

Thymeleaf 中使用 th:if 和 th:unless 属性进行条件判断:
th:if 和 th:unless 表达式的结果支持 boolean、number、character、string 及其他类型。

下面通过例子演示 Thymeleaf 中如何使用 th:if 和 th:unless 属性进行条件判断。
1) 定义 HTML 页面。在 templates 目录下创建 if.html 页面,示例代码如下:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head lang="en">
    <meta charset="UTF-8" />
    <title></title>
</head>
<body>
<h1>Thymeleaf模板引擎</h1>
<h3>条件判断</h3>
<a th:if="${flag == 'yes'}" th:href="@{http://www.a.com/}">a.home</a>
<a th:unless="${flag != 'no'}" th:href="@{http://www.b.com/}" >b.home</a>
</body>
</html>
在上面的例子中,通过 th:if 标签进行条件判断,如果 flag==yes,就显示 a.home 的链接,否则显示 b.home 的链接。

2) 定义后端接口,返回数据结果:
@RequestMapping("/if")
public String ifunless(ModelMap map) {
    map.addAttribute("flag", "yes");
    return "if";
}
在上面的示例中,定义请求的地址,返回 if.html 页面,并返回 flag 的值为 yes。

3) 启动验证。启动项目后,在浏览器中输入地址 http://localhost:8080/if,会出现如下图所示的结果。


图 1 if.html 页面显示效果

由图 1 可知,后端返回的 flag 值为 yes,th:if="${flag == 'yes'}" 条件成立,所以显示 a.home 的链接。而 th:unless="${flag != 'no'}" 条件也成立,所以隐藏 b.home 的链接。

相关文章