thymeleaf 语法 if-else if -else
时间: 2025-04-24 09:09:21 浏览: 45
### Thymeleaf 中 `if` 和 `switch` 的条件判断语法
在 Thymeleaf 模板引擎中,可以使用多种方式来实现类似于编程语言中的 `if-else if-else` 结构。主要的方式有两种:一种是通过属性级别的条件处理,另一种则是利用 `th:switch`。
#### 使用 `th:if`, `th:unless`
对于简单的条件逻辑,可以直接采用 `th:if` 或者其反向版本 `th:unless` 来控制元素是否渲染:
```html
<div th:if="${user.isAdmin()}">Only admins can see this</div>
<p th:unless="${isAuthenticated}">You are not logged in.</p>
```
当需要更复杂的多分支选择时,则可以通过组合多个 `th:if` 实现类似 `if-else if-else` 的效果[^1]。
#### 利用 `th:switch` 进行多路分支选择
为了更加优雅地处理多条路径的选择问题,推荐使用 `th:switch` 属性配合 `th:case`。这种方式不仅使代码结构清晰易读,而且功能强大,支持字符串匹配以及表达式的求值操作:
```html
<div th:switch="${user.role}">
<p th:case="'admin'">User is an administrator</p>
<p th:case="'manager'">User is a manager</p>
<!-- 默认情况 -->
<p th:case="*">Unknown user role</p>
</div>
```
上述例子展示了如何根据不同角色显示不同的消息给用户[^3]。
需要注意的是,在实际开发过程中应当根据具体需求场景合理选用这两种方法之一;如果只是简单二元判断建议优先考虑 `th:if/unless`,而涉及到较多分支的情况则更适合运用 `th:switch/case` 构造[^2]。
阅读全文
相关推荐


















