EL表达式

EL 全名为Expression Language

EL主要的语法结构:所有EL都是以”${”为起始、以”}”为结尾的。

.与 [ ] 运算符

EL 提供 . 和 [ ] 两种运算符来导航数据。下列两者所代表的意思是一样的:
u s e r . s e x 等 于 { user.sex}等于 user.sex{ user[“sex”]}
注:有两种情况,两者会有差异,如下:
1.当要存取的属性名称中包含一些特殊字符,如. 或 – 等并非字母或数字的符号,就一定要使用 [ ]。
例如: u s e r . I − N a m e 应 当 改 为 : {user.I-Name }应当改为: user.IName{user[“I -Name”] }
2. s e s s i o n S c o p e . u s e r [ d a t a ] 此 时 , d a t a 是 一 个 变 量 , 假 若 d a t a 的 值 为 " n a m e " 时 , 那 上 述 的 例 子 等 于 { sessionScope.user[data]} 此时,data 是一个变量,假若data的值为"name"时,那上述的例子等于 sessionScope.user[data]datadata"name"{sessionScope.user. name };因此如果要动态取值时用[]而. 无法做到动态取值。

EL 变量

EL 存取变量数据的方法很简单,例如:${name}。它的意思是取出某一范围中名称为name的变量。因为我们没有指定在哪一个范围找name,所以它的默认值会先从Page 范围找,假如找不到,再依序到Request、Session、Application范围。假如途中找到name,就直接回传,不再继续找下去,若全部范围都找不到值就回传null,值为null的话El不会在页面打印显示。
在这里插入图片描述
其中,pageScope、requestScope、sessionScope和applicationScope都是EL 的隐含对象,
自动转变类型
例如:
${param.count + 10}假若传来count的值为10时,那么上面的结果为20。

EL 隐含对象

JSP有9个隐含对象,而EL也有自己的隐含对象。EL隐含对象总共有11 个
在这里插入图片描述

pageContext
我们可以使用 ${pageContext}来取得其他有关用户要求或页面的详细信息。下表列出了几个比较常用的部分
在这里插入图片描述
EL运算符:
表达式语言不仅可在数字与数字之间比较,还可在字符与字符之间比较,字符串的比较是根据其对应UNICODE值来比较大小的。
EL算术运算
在这里插入图片描述

EL关系运算符
在这里插入图片描述

注意:在使用EL 关系运算符时,不能够写成:
${param.password1} == ${param.password2}或者${ ${param.password1 } == ${param.password2 } }
而应写成:
${ param.password1 == param.password2 }

EL逻辑运算符
在这里插入图片描述
Empty 运算符

Empty 运算符主要用来判断值是否为空(NULL)。

El取Cookie和Header值:

1.cookie: 是一个小的文本文件,以key、value的方式将Session Tracking的内容记录在这个文本文件内,这个文本文件通常存在于浏览器的暂存区内。假若我们在cookie 中设定一个名称为user的值,那么可以使用${cookie.user}来取得它。

2.Header: 储存用户浏览器和服务端用来沟通的数据,当用户要求服务端的网页时,会送出一个记载要求信息的标头文件。例如:用户浏览器的版本、用户计算机所设定的区域等其他相关数据。假若要取得用户浏览器的版本,即${header[“User-Agent”]}。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值