zoukankan      html  css  js  c++  java
  • 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和“”。代码如下:

    1 <%request.serAttribute("user","");%>
    2 <%request.setAttribute("user1",null);%>

    然后,通过empty运算符判断user和user1是否为空,代码如下:

    1 ${empty user}        //返回值为true
    2 ${empty user1}      //返回值为true

    注意:一个变量或对象为null或空代表的意义是不同的。null表示这个变量没有指明任何对象,而空表示这个变量所属的对象其内容为空,例如,空字符串、空的数组或者空的List容器。

    此外,empty运算符也可以与not运算符结合使用,用于判断一个对象或变量是否为非空。

    例如:要判断request范围中的变量user是否为非空可以使用一下代码。

    1 <%request.setAttribute("user","")%>
    2 ${not empty user}        //返回值为false
  • 相关阅读:
    学习shell脚本
    Python 3.3.2 round函数并非"四舍五入"
    Python 通过继承实现标准对象的子类
    Python 继承标准类时发生了什么
    Python 表示无穷大的数
    用Python最原始的函数模拟eval函数的浮点数运算功能(2)
    Python 函数参数*expression 之后为什么只能跟关键字参数
    RE模块疑问
    用Python最原始的函数模拟eval函数的浮点数运算功能
    Python 好用得让人发指的函数参数语法糖
  • 原文地址:https://www.cnblogs.com/lihuibin/p/7723858.html
Copyright © 2011-2022 走看看