返回介绍

8.5 使用其他 EL 运算符

发布于 2025-04-22 20:10:01 字数 1928 浏览 0 评论 0 收藏

除了.和 [] 运算符外,EL 还提供了其他运算符:算术运算符、关系运算符、逻辑运算符、条件运算符,以及 empty 运算符。使用这些运算符时,可以进行不同的运算。但是,由于 EL 的目的是方便免脚本 JSP 页面的编程,因此,除了关系运算符外,这些 EL 运算符的用处都很有限。

8.5.1 算术运算符

算术运算符有 5 种。

  • 加法(+)。

  • 减法(−)。

  • 乘法(*)。

  • 除法(/和 div)。

  • 取余/取模(%和 mod)。

除法和取余运算符都有两种形式,与 XPath 和 ECMAScript 是一致的。

注意,EL 表达式的计算按优先级从高到低、从左到右进行。下列运算符是按优先级递减顺序排列的:

  • */div%mod

  • +-

这表示*、/、div、%以及 mod 运算符的优先级相同,+与−的优先级相同,但第二组运算符的优先级小于第一组运算符。因此,表达式

${1+2*3}

的运算结果是 7,而不是 9。

8.5.2 关系运算符

下面是关系运算符列表:

  • 等于(==和 eq)。

  • 不等于(!=和 ne)。

  • 大于(>和 gt)。

  • 大于或等于(>=和 ge)。

  • 小于(<和 lt)。

  • 小于或等于(<=和 le)。

例如,表达式${3==4}返回 False,${“b”<“d”}则返回 True。

8.5.3 逻辑运算符

下面是逻辑运算符列表:

  • 和(&&和 and)。

  • 或(|| 和 or)。

  • 非(!和 not)。

8.5.4 条件运算符

EL 条件运算符的语法如下:

${statement? A:B}

如果 statement 的计算结果为 True,那么该表达式的输出结果就是 A,否则为 B。

例如,利用下列 EL 表达式可以测试 HttpSession 中是否包含名为 loggedIn 的属性。如果找到这个属性,就显示“You have logged in(您已经登录)”。否则显示“You have not logged in(您尚未登录)”。

${(sessionScope.loggedIn==null)? "You have not logged in" :
    "You have logged in"}

8.5.5 empty 运算符

empty 运算符用来检查某一个值是否为 null 或者 empty。下面是一个 empty 运算符的使用范例:

${empty X}

如果 X 为 null,或者说 X 是一个长度为 0 的字符串,那么该表达式将返回 True。如果 X 是一个空 Map、空数组或者空集合,它也将返回 True。否则,将返回 False。

8.5.6 字符串连接运算符

+ =运算符用于连接字符串。 例如,以下表达式打印 a + b 的值。

$ {a + = b}

8.5.7 分号操作符

; 操作符用于分隔两个表达式。 有关示例,请参阅本章后面的 8.10 节。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。