三元运算符的嵌套详解:分别在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))

大多数情况中这种的使用是非常的方便的。

原文地址:https://www.cnblogs.com/isme-zjh/p/12658746.html

时间: 2024-10-16 00:00:40

三元运算符的嵌套详解:分别在JSTL、JavaScript和Java中的相关文章

26.Python三目运算符(三元运算符)用法详解

Python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种 if 语句当成三目运算符.作为三目运算符的 if 语句的语法格式如下: True_statements if expression else False_statements 三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值:如果逻辑表达式返回 False,则执行并返回 False_statements 的值.看如下代码:

JS逗号运算符的用法详解

逗号运算符的用法详解 注意: 一.由于目前正在功读JavaScript技术,所以这里拿JavaScript为例.你可以自己在PHP中试试. 二.JavaScript语法比较复杂,因此拿JavaScript做举例. 最近重新阅读JavaScript权威指南这本书,应该说很认真的阅读,于是便想把所学的东西多记录下来.后 面本人将逐步写上更多关于本书的文章. 本文的理论知识来自于JavaScript权威指南,我这里做一下整理,或者说叫笔记. 如果你的基础够好的话,完全理解不成问题,但是如果读得有些郁闷

Java移位运算符 “&lt;&lt;” 作用及详解

左移运算符(<<) 基本用法 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0). 例:a = a << 2 将a的二进制位左移2位,右补0, 左移1位后a = a *2; 若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2. 举例以及困惑 给出下面的程序,大家可以猜一猜结果是什么? public class MainClass { public static void main(String[] args) { long i = 1L <<

《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和FileList对象.用于创建和写入的Blob和FileWriter对象.用于目录和文件系统访问的DirectoryReader和LocalFileSystem对象等,FileSystem功能的出现是浏览器在文件系统上的突破,具有里程碑的意义,虽然目前还尚未完全成熟,但足以让开发者发挥更大的想象空间.

IT段子手详解MyBatis遇到Spring 秒学Java SSM开发大众点评

第1章 课程概览介绍课程目标.开发内容.功能划分.开发顺序,开发所需要的前置知识及环境准备,并且介绍了与课程相关的前后端分离的思想,架构演进过程.1-1 课程导学1-2 功能划分和开发流程1-3 原料准备1-4 武功秘籍 第2章 开发准备演示前端工程环境搭建以及启动步骤,介绍了后台工程初始SSM框架目录结构,将前后端打通,并将后台管理使用的界面原型加入后台工程中,形成一个完整可用的前后台联动的原型.拓展的谈了谈HTTP API和RESTFul API的趣闻.2-1 HTTP API和RESTfu

Java网络编程和NIO详解3:IO模型与Java网络编程模型

Java网络编程和NIO详解3:IO模型与Java网络编程模型 基本概念说明 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限.为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间.针对linux操作系统而言,将最高的1G字节(从虚拟地址

Java语言常用的运算符和表达式详解

Java提供了丰富的运算符,如算术运算符.关系运算符.逻辑运算符.位运算符等等.Java的表达式就是用运算符连接起来的符合Java规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.在编写程序时尽量的使用括号()运算符号来实现想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列的相同级别运算符的先后顺序. 算术运算符 1.加减运算符:  +,- 加减运算符是二目运算符:加减运算符的结合方向是从左到右:加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级

JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 exec方法的返回值 exec方法返回的其实并不是匹配结果字符串,而是一个对象,简单地修改一下execReg函数,来做一个实验就可以印证这一点: function execReg(reg, str) { var result = reg.exec(str); alert(typeof result

免费的HTML5连载来了《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和FileList对象.用于创建和写入的Blob和FileWriter对象.用于目录和文件系统访问的DirectoryReader和LocalFileSystem对象等,FileSystem功能的出现是浏览器在文件系统上的突破,具有里程碑的意义,虽然目前还尚未完全成熟,但足以让开发者发挥更大的想象空间.