JavaWeb体系中 EL 表达式的说明和规则

360百科:EL(Expression Language) 是为了使JSP写起来更加简单,表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言。

EL 提供了在 JSP 中简化表达式的方法,让 Jsp 的代码更加简化

先分享一波福利(EL 表达式的 pdf 版文档,很详细)

链接:https://pan.baidu.com/s/1_nRIF7KCtPt6_ultbIgnPQ 
提取码:tdfr

 

一、EL语法

所有 EL 表达式都是以 ${ 开始 ,以 } 结尾。

举个栗子:

EL 表达式:${sessionScope.user.sex}  等于

Java 代码: Object user = request.getAttribute("user");

                     String sex = user.getSex();

二、EL 表达式内置对象

所谓内置对象就是 EL 语言自己本身就支持的,下表列出了 EL 表达式中的各种内置对象

 表达式内置对象说明
1 pageContext表示 javax.servlet.jsp.PageContext 对象
2 pageScope表示从 page 属性范围内查找输出属性
3 requestScope表示从 request 属性范围内查找输出属性
4 sessionScope表示从 session 属性范围内查找输出属性
5 applicationScope表示从 application 属性范围内查找输出属性
6 param接收传递到本页面的参数(如 get 请求带的参数)
7 paramValues接收传递到本页面的一组参数(如 get 请求带的一组参数)
8 header取得一个头信息数据(请求头信息)(了解即可,不常用)
9 hearerValues取得一组头信息数据(请求头信息)(了解即可,不常用)
10 cookie取出 Cookie 中的数据(了解即可,不常用)
11 initParam 取得配置的初始化参数(了解即可,不常用)

pageContext 使用举例(读取一个请求的 SESSIONID):sessionId: ${pageContext.session.id }

与范围有关的四个隐藏对象,从小到大顺序(pageScope,requestScope,sessionScope,applicationScope

以上四个统一举例:age: ${customer.age }   

                                页面会先从 page 中找 ${pageScope.customer.age } ,

                                找不到去 request 找 ${requestScope.customer.age } ,

                                还找不到去 session 找 ${sessionScope.customer.age },

                                最后去application 找 ${applicationScope.customer.age }。

param 使用举例:地址信息 http://localhost:8080/ELProject/el2.jsp?score=89&name=A&name=B&name=C

                              score: ${param.score }   通过 param 便可获取 链接中 score 的值;

                      同理 names: ${paramValues.name }  通过 paramValues 便可获取 链接中 name 的地址(以数组形式返回);

                      EL 表达式可自动转换类型:score: ${param.score  + 11 }      结果为 100. 

三、EL 算术运算符

算术运算符说明                   范     例          结    果  
+${ 17 + 5 }             22
-${ 17 - 5 }             12
*${ 17 * 5 }             85
/   或 div${ 17 / 5 } 或 ${ 17 div 5 }             3

% 或 mod

取余${ 17 % 5 } 或 ${ 17 mod 5 }             2

四、EL 关系运算符

注意:在使用 EL 关系运算符时,不能够写成:

           ${ param.password1 } = =  ${ param.password2 }  或  ${  ${ param.password1 } = =  ${ param.password2 } }

           而应该写成:

            ${ param.password1 = =  param.password2 }

五、EL 逻辑运算符

六、其他运算符

(1)Empty 运算符:

         empty 可以作用于一个集合, 若该集合不存在或集合中没有元素, 其结果都为 true

         例子:names is empty: ${empty requestScope.names }

(2)条件运算符:${ A ? B :C }

         当 A 为 true 时,执行 B;当 A 为 false 时,执行 C。

(3)()括号运算符:改变运算优先权。

以上阐述了 EL 语法的使用和规则

科技改变世界,技术连接你我,

如有瑕疵,请批评指正。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值