三元運算符的嵌套詳解:分別在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))

大多數情況中這種的使用是非常的方便的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM