三元运算符的嵌套详解:分别在JSTL、JavaScript和Java中
用来完成简单的选择逻辑,即根据条件判断,从两个选择中选择一种执行。
使用格式:
(条件表达式)?表达式1:表达式2;
运算规则:条件表达式 值为一个布尔值,当值为true的时候 执行表达式1 否则的话执行表达式2
这种写法可以代替我们一般的if-else-if语句
常见的可以用于下面的几种情况中:
JSTL中
<c:forEach items="${page.list}" var="order"> <tr> <td>${order.orderId}</td> <td>${order.goodId}</td> <td>${order.shopperName}</td> <td>${order.goodNumber}</td> <td>${order.goodPrice}</td> <td>${order.sumPrice}</td> <td>${order.saleTime}</td> <td>${order.orderStatus=="1"?"待审核":(order.orderStatus=="0"?"未通过":"已通过")}</td> <!-- 1 代表待审核 0代表未通过 2 代表已通过 --> <shiro:hasAnyPermissions name="sys:order:edit"> <td> <a href="${ctx}/sys/order/form?orderId=${order.orderId}">修改</a> <a href="${ctx}/sys/order/delete?orderId=${order.orderId}">删除</a> </td> </shiro:hasAnyPermissions> </tr> </c:forEach>
JavaScript中
var state = null; var display_state = (state == null ? "未用" : (state == true ? "在用" : "停用")) //display_state //"未用"
一般的三元运算符就够用了,
但是此时有个需求:比如state有3个状态,{null,true,false}
代表的意思如下:
null→未用
true→在用
false→停用
其实只有三元运算符,但这种嵌套的可以理解为"四元运算符"
Java中
String str = (status = = CurStatus1 ? A :(status == CurStatus2 ?B : C))
大多数情况中这种的使用是非常的方便的。

您的资助是我最大的动力!
金额随意,欢迎来赏!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)