美文网首页产品经理
EL表达式的基本语法及运算符

EL表达式的基本语法及运算符

作者: 君临天下夜未央 | 来源:发表于2019-08-09 10:13 被阅读1次

EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
基本语法如下:

${表达式}

EL 表达式类似于 JSP 表达式 <%=表达式%>,EL 语句中的表达式值会被直接送到浏览器显示,通过 page 指令的 isELIgnored 属性来说明是否支持 EL 表达式。

当 isELIgnored 属性值为 false 时,JSP 页面可以使用 EL 表达式,当 isELIgnored 属性值为 true 时,JSP 页面不能使用 EL 表达式。isELIgnored 属性值默认为 false。

EL 的语法简单、使用方便,它以${开始、以}结束。

1. “[]”与“.”运算符

EL 使用“[]”和“.”运算符来访问数据,主要使用 EL 获取对象的属性,包括获取 JavaBean 的属性值、获取数组中的元素以及获取集合对象中的元素。

对于 null 值直接以空字符串显示,而不是 null,在运算时也不会发生错误或空指针异常,所以在使用 EL 访问对象的属性时不需要判断对象是否为 null 对象,这样就为编写程序提供了方便。

1)获取 JavaBean 的属性值

假设在 JSP 页面中有这样一句话:

<%=user.getAge()%>

那么可以使用 EL 获取 user 对象的属性 age,代码如下:

${user.age}

${user["age"]}

其中,点运算符前面为 JavaBean 的对象 user,后面为该对象的属性 age,表示利用 user 对象的 getAge 方法取值并显示在网页上。

2)获取数组中的元素

假设在 Controller 或 Servlet 中有这样一段话:

String dogs[] = {"lili","huahua","guoguo"};
request.setAttribute("array",dogs);

那么在对应视图 JSP 中可以使用 EL 取出数组中的元素,代码如下:

${array[0]}
${array[1]}
${array[2]}

3)获取集合对象中的元素

假设在 Controller 或 Servlet 中有这样一段话:

ArrayList<UserBean> users = new ArrayList<UserBean>();
UserBean ub1 = new UserBean("zhang",20);
UserBean ub2 = new UserBean("zhao",50);
users.add(ub1);
users.add(ub2);
request.setAttribute("array",users);

其中,UserBean 有两个属性 name 和 age,那么在对应视图 JSP 页面中可以使用 EL 取出 UserBean 中的属性,代码如下:

${array[0].name} ${array[0].age}
${array[1].name} ${array[1].age}

2. 算术运算符

在 EL 表达式中有 5 个算术运算符,如表 1 所示。

表 1 EL的算术运算符

算术运算符 说 明 示 例 结 果
+ ${13+2} 15
- ${13-2} 11
* ${13*2} 26
/(或div) {13/2}或{13 div 2} 6.5
%(或mod) 取模(求余) {13%2}或{13 mod2} 1

3. 关系运算符

在 EL 表达式中有 6 个关系运算符,如表 2 所示。

表 2 EL 的关系运算符

关系运算符 说 明 示 例 结 果
==(或 eq) 等于 {13==2}或{13 eq 2} false
!=(或 ne) 不等于 {13!=2}或{13 ne 2} true
<(或 lt) 小于 {13<2}或{13 lt 2} false
>(或gt) 大于 {13>2}或{13 gt 2} true
<=(或le) 小于等于 {13<=2}或{13 le 2} false
>=(或ge) 大于等于 {13>=2}或{13 ge 2} true

4. 逻辑运算符

在 EL 表达式中有 3 个逻辑运算符,如表 3 所示。

表 3 EL 的逻辑运算符

逻辑运算符 说 明 示 例 结 果
&&(或and) 逻辑与 如果 A 为 true,B 为 false,则 A && B(或 A and B) false
||(或 or) 逻辑或 如果 A 为 true,B 为 false,则 A ||B(或 A or B) true
!(或 not) 逻辑非 如果 A 为 true,则 !A(或 not A) false

5. empty 运算符

empty 运算符用于检测一个值是否为 null,例如变量 A 不存在,则 ${empty A} 返回的结果为 true。

6. 条件运算符

EL 中的条件运算符是“? :”,例如 ${A ? B:C},如果 A 为 true,计算 B 并返回其结果,如果 A 为 false,计算 C 并返回其结果。

相关文章

  • EL表达式 (详解)

    EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算...

  • 【JavaWeb】EL表达式

    EL表达式 EL表达式语言,用于简化JSP的输出;EL表达式的基本语法:${表达式};示例: 学生姓名:${stu...

  • NO.5 EL表达式

    1、EL概述和基本语法 EL表达式:expression language 表达式语言,要简化jsp中java代码...

  • JAVA Web学习(17___第11章EL(表达式语言)

    第11章EL(表达式语言) 11.1 概述 11.1.1 EL表达式基本语法 参数说明 experssion 用于...

  • EL表达式的基本语法及运算符

    EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMASc...

  • EL表达式

    EL表达式语法 ${ EL expression}其中:$ 表示EL表达式的开始。EL expression指定...

  • 4.El表达式

    1.EL表达式 1.EL表达式的作用 2. EL语法

  • EL和JSTL

    1.EL EL表达式语言是一种简单的数据访问语言,基本语法格式为"${表达式}",当JSP引擎在解析JSP页面的过...

  • java中el 及jstl知识的总结

    El表达式的语法: ${表达式} 注意: 自带响应的功能 El表达式的使用: El表达式获取请求数据 获取用户请求...

  • EL表达式 & JSP标签

    EL表达式 EL作用 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<% %> 以后开发jsp的原则...

网友评论

    本文标题:EL表达式的基本语法及运算符

    本文链接:https://www.haomeiwen.com/subject/mtrcjctx.html