EL语言表达式 (三)【EL中的算术运算以及判断EL对象是否为空】
一、EL中的算术运算
EL和其他语言一样,同样也提供了基本的算术运算(加、减、乘、除和取余),如下图。
| 运算符 | 功能 | 示例 | 结果 |
| + | 加 | ${19+1} | 20 |
| - | 减 | ${66-30} | 36 |
| * | 乘 | ${52.1*10} | 521 |
| /或者div | 除 |
${5/2}或${5 div 2} |
2.5 |
|
${9/0}或${9 div 0} |
Infinity | ||
| %或者mod | 取余 | ${17%3}或${17 mod 3} | 2 |
| ${15%0}或${15 mod 0} | 将抛出异常:java.long.ArithmeticException:/by zero |
注意:EL的“+”运算符与java的“+”运算符不同,它不能实现两个字符串之间的连接,如果使用该运算符连接两个不可以转换为数值型的字符串,将抛出异常;如果使用该运算符连接两个可以转换为数值型的字符串,EL则自动将这两个字符串转换为数值型,再进行加法运算。
二、如何判断EL中的对象是否为空
判断对象是否为空,可以通过empty运算符来实现,该运算符是一个前缀(prefix)运算符,即empty运算符位于操作数前方,用来确定一个对象或变量是否为null或空。empty运算符的格式如下:
${empty expression}
参数说明:
expression:用于指定要判断的变量或对象。
例:定义两个request 范围内的变量user和user1,分别设置值为null和“”。代码如下:
<%request.serAttribute("user","");%>
<%request.setAttribute("user1",null);%>
然后,通过empty运算符判断user和user1是否为空,代码如下:
${empty user} //返回值为true
2 ${empty user1} //返回值为true
注意:一个变量或对象为null或空代表的意义是不同的。null表示这个变量没有指明任何对象,而空表示这个变量所属的对象其内容为空,例如,空字符串、空的数组或者空的List容器。
此外,empty运算符也可以与not运算符结合使用,用于判断一个对象或变量是否为非空。
例如:要判断request范围中的变量user是否为非空可以使用一下代码。
<%request.setAttribute("user","")%>
${not empty user} //返回值为false
EL语言表达式 (三)【EL中的算术运算以及判断EL对象是否为空】的更多相关文章
- EL语言表达式 (一)【语法和特点】
一.基本语法规则: EL表达式语言以“${”开头,以"}"结尾的程序段,具体格式如下: ${expression} 其中expression:表示要指定输出的内容和字符串以及EL运 ...
- EL语言表达式 (二)【EL对数据的访问】
一.访问方式: EL中访问数据和Java中访问数组的方式相同,即可以通过“[]”和“.”运算符进行访问.而且两种形式是等价的.如: 访问JavaBean对象userInfo中的id属性,可以写成下面两 ...
- Java中判断String对象是否为空的方法
Java原生的方法: String对象中有一个isEmpty的方法判断是否为空,其实isEmpty完全等同于string.length()==0,注意如果String本身是null,那么使用strin ...
- struts2中#,$,%的用法以及el,ognl表达式的用法
OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例 取Session中的值 <c:out value="${sessionScope.user.userId}&quo ...
- C语言程序设计(三) 简单的算术运算和表达式
第三章 简单的算术运算和表达式 算数运算符:一元.二元.三元(条件运算符) 1/2是整型除法,1.0/2是浮点数除法 求余运算(%)限定参与运算的两个操作数必须为整数,不能对两个实型数据进行求余运算 ...
- jsp中常用操作字符串的el表达式
由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 准备工作:1)导入jar包:standard.jar和jstl.jar2) ...
- EL表达式中的11个隐式对象
EL表达式中定义了11个隐式对象,使用这些隐式对象可以很方便地读取到Cookie.HTTP请求消息头字段.请求参数.Web应用程序中的初始化参数的信息,EL表达式中的隐式对象具体如下: 隐式对象 作用 ...
- JSP中,EL表达式向session中取出一个attribute和JSP脚本访问session取出一个attribute,写法有何不同?(转自百度知道)
EL表达式使用起来会更简洁,假如session中有一个属性A(attrA),那么EL和jsp脚本取值的方式如下: EL表达式:${ sessionScope.attrA } JSP脚本:<%=s ...
- jsp页面使用el 按key获取map中的对应值
jsp页面使用el 按key获取map中的对应值 转自:<jsp页面使用el 按key获取map中的对应值>地址:http://blog.csdn.net/baple/article/de ...
随机推荐
- iOS 通知名的通用定义方法
开发当中用到通知,通知的定义必须要有一个字符串标识通知的名字.一般可以直接写一个字符串,在通知创建和监听的时候直接写这个字符串. 但这样做非常不好,随手创建写代码当时很舒服,但是后来维护的时候发现通知 ...
- jQuery 报错,对象不支持tolowercase属性或方法
泪流满面.<input>里id和name都不能是nodeName,否则跟jquery.js冲突 JQuery 实践问题 - toLowerCase 错误 在应用JQuery+easyui开 ...
- Copycat - Overview
Copycat’s primary role is as a framework for building highly consistent, fault-tolerant replicated s ...
- python的一些基本概念知识和面试题
对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔.那么你了解过Python编程面试题吗?从Python基础到网页爬虫你是否能全方位Hold住?今天,机器之心为读者们 ...
- dhttp与IdCookieManager处理登陆过程
dhttp与IdCookieManager处理登陆过程 我们知道,用IE注册网页(象论坛)时,它能够自动找出相应的Cookie并提交给服务器,从而使用户不用重新登录就能够看到与他自己帐号有关的内容.这 ...
- 内部排序->选择排序->简单选择排序
文字描述 简单排序的基本思想是:每一趟在n-i+1(i=1,2,…,n)个记录中选取关键字最小的记录作为有序列表中的第i个记录. 示意图 略 算法分析 简单排序算法中,所需进行记录移动的操作次数较少, ...
- 动态补丁构建工具nuwa中的“坑”
1. 继承android中的Application的类A1Application:并且A2Application继承自A1Application,并且配置在清单文件中name=".A2App ...
- Linux snprintf使用总结
snprintf()函数用于将格式化的数据写入字符串,其原型为: int snprintf(char *str, int n, char * format [, argument, ...]); ...
- Java如何对List集合的操作方法(二)
4.list中查看(判断)元素的索引: 注意:.indexOf(): 和 lastIndexOf()的不同: ///*************************************** ...
- 遍历出文档内所有元素的tagName
//深度优先 function deepLogTagNames(parentNode){ console.log(parentNode.tagName); const childNodes=paren ...