You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Thymeleaf中使用类似condiction ? result1 : result2的条件运算符?

在Thymeleaf中使用三元运算符的方法

嘿,这事儿其实挺简单的,Thymeleaf完全支持你说的condition ? result1 : result2这种三元表达式语法,只要把它放在Thymeleaf的表达式上下文里就行,我给你举几个实用的例子:

1. 文本内容的条件渲染

如果要根据变量值动态显示文本,直接用th:text配合三元表达式:

<p th:text="${user.isVip} ? '尊敬的VIP用户' : '亲爱的普通用户'"></p>

这里当user.isVip为true时,会显示“尊敬的VIP用户”,否则显示“亲爱的普通用户”。

2. 属性的条件赋值

比如给HTML元素的class、style等属性设置动态值:

<div th:class="${order.status == 'COMPLETED'} ? 'order-completed' : 'order-pending'">
  订单状态
</div>

当订单状态是已完成时,这个div会加上order-completed类,否则是order-pending类。

3. 嵌套三元表达式(慎用,避免可读性变差)

如果有多层条件判断,也可以嵌套三元表达式:

<span th:text="${score >= 90} ? '优秀' : (${score >= 70} ? '良好' : (${score >= 60} ? '及格' : '不及格'))">
  成绩等级
</span>

不过这种嵌套别太复杂,不然维护起来头疼,复杂逻辑还是建议在后端处理好再传给模板哦。

要记住的是,三元表达式必须放在Thymeleaf的变量表达式${}(或者选择表达式*{})里面,和Java里的三元语法几乎一模一样,上手很快的!

内容的提问来源于stack exchange,提问作者Mike Le

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:14:05