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 ...
随机推荐
- [daily] 使用diff和patch打补丁
diff org new > xxx.patch patch /path/org xxx.patch /path/org是相对路径时, 会报错. 这是一个bug.
- JDBC---Mysql(1)
使用MySQL需要导mysql-connector-java-5.1.7-bin.jar包 所有的java.sql.Driver实现类,都提供了static块,块内的代码就是把自己注册到DriverM ...
- Copycat - Overview
Copycat’s primary role is as a framework for building highly consistent, fault-tolerant replicated s ...
- Flash builder 、flash cs6、 as 3.0研究
1.Flash/Actionscript3 载入资源文件方法考 http://zengrong.net/post/1107.htm 2.使用Flash Professional CS5和Flash B ...
- 《HTTP - 概述》
晚上听着 木小雅<可能否>,让我这暴躁的一天得以回复一下. 学习是长久之事,不能急躁.应该系统的去学习一些东西. 1:HTTP 最严谨的叫法应该是 超文本转移协议,但大家一般都叫做 超文本 ...
- SQL Server的一些小问题
一.SQL Server远程调用失败 解决办法:在控制面板-程序和功能中卸载“Microsoft SQL Server 2012 Express LocalDB”,具体版本根据你安装的VS版本决定,我 ...
- javascript面向对象中继承实现?
面向对象的基本特征有:封闭.继承.多态. 在javascript中实现继承的方法: 1.原型链(prototype chaining) 2.call()/apply() 3.混合方式(prototyp ...
- sql server 复制、镜像常见故障处理
sql server2008数据库复制实现数据同步常见问题 操作使用的一些技巧(事务复制类型): 1.如何修改一个已经发布的表的属性? 将发布所有订阅删除,(发布不用删除),就可以在发布属性的项目中取 ...
- more 命令
[root@localhost ~]# .txt # 按页显示文件内容,能向下翻页查看
- 20170915 shell
1.什么是Shell 一种电脑程序与文本文件,利用Shell 可以进行系统管理,文件操作等. 2.认识bash 这个Shell 由于管理整个计算机硬件的其实是操作系统的内核(kernel),用户一般都 ...