JSP之EL表达式

3 篇文章 0 订阅

JSP之EL表达式

一、概念

1.是什么

之前的 JSP 页面中,我们经常使用 JSP 表达式来输出变量或者页面之间传递的参数,大大降低了页面的可读性。

为了简化 JSP 页面,JSP 2.0 新增了 EL(Expression Language)表达式语言。EL 提供了更为简洁、方便的形式来访问变量和参数,不仅可以简化 JSP 页面代码,还会使开发者的逻辑变得更加清晰

2.EL使用条件

Web服务器支持Servlet2.4/JSP2.0

EL表达式未禁用:

​ 禁用方法:

​ \

​ <%@ page isELIgnored=“true”%>

​ web.xml中配置< el-ignored>元素

3.EL存取范围

默认从page中找,然后依次为requestsessionapplication,找到返回值,找不到返回null。

4.EL的特点

①可与JSTL及JavaScript语句结合使用

②自动执行类型转换

③直接访问JavaBean中的属性

​ ●嵌套属性

​ ●集合对象

④可执行运算

⑤可获得命名空间(的对象)

⑥除0没有异常

⑦可访问作用域对象

⑧扩展函数可以与java里的静态方法执行映射

二、语法

1.EL表达式的语法

EL 表达式语法如下:

${EL表达式}

EL 表达式语法以${开头,以}结束,中间为合法的表达式。

示例:

`${param.name}` 表示获取参数 name 的值,它等同于 `<%=request.getParameter('name') %>`。从形式和语法上可以看出,EL 表达式简化了 JSP 原有的表达式。在实际开发中,EL 表达式也是经常使用的方式。

2.运算符

(1)存取运算符:

'[]‘运算符可以获取数组的指定元素,但用’.'运算符不可以

'[]'运算符可以获取List集合中的元素

'[]'运算符可获取Map集合中的指定元素

.[ ]是 EL 中最常用的运算符,用来访问 JavaBean 中的属性和隐式对象的数据。一般情况下,.用来访问 JavaBean 属性或 Map 类型的值,[ ]用来访问数组或者列表的元素。)

(2)比较运算符:

比较运算符用来实现两个表达式的比较,进行比较的表达式可以是数值型或字符串。

EL比较运算符说明范例结果
== 或 eq等于${6==6} 或 6 e q 6 < b r / > {6 eq 6}<br/> 6eq6<br/>{“A”=“a”} 或 ${“A” eq “a”}true
false
!= 或 ne不等于${6!=6} 或 6 n e 6 < b r / > {6 ne 6}<br/> 6ne6<br/>{“A"!=“a”} 或 ${“A” ne “a”}false
true
< 或 lt小于${3<8} 或 3 l t 8 < b r / > {3 lt 8}<br/> 3lt8<br/>{“A”<“a”} 或 ${“A” lt “a”}true
true
> 或 gt大于${3>8} 或 3 g t 8 < b r / > {3 gt 8}<br/> 3gt8<br/>{“A”>“a”} 或 ${“A” gt “a”}false
false
<= 或 le小于等于${3<=8} 或 3 l e 8 < b r / > {3 le 8}<br/> 3le8<br/>{“A”<=“a”} 或 ${“A” le “a”}true
true
>= 或 ge大于等于${3>=8} 或 3 g e 8 < b r / > {3 ge 8}<br/> 3ge8<br/>{“A”>=“a”} 或 ${“A” ge “a”}false
false
(3)逻辑运算符:

逻辑运算符两边的表达式必须是布尔型(Boolean)变量,其返回结果也是布尔型(Boolean).

EL逻辑运算符说明范例结果
&& 或 and${2>1&&3<4 } 或 ${2>1and3<4 }true
||或 or${2<1||3>4} 或 ${2<1or3>4}false
! 或 not${!(2>4)} 或 ${not (2>4)}true

三、EL隐含对象

11个对象:

在这里插入图片描述

从以上方法可以看出,EL 表达式可以输出 4 种属性范围的内容。如果在不同的属性范围中设置了同一个属性名称,则按照 page、request、session、application 的顺序依次查找。我们也可以指定要取出哪一个范围的变量,例如:${pagesScope.name},表示取出 page 范围的 name 变量。

类似于JSP内置对象,直接用对象名操作

—PageContext是JavaBean对象

​ ●PageContext 用它,可以访问JSP内置对象

如:可以获取request对象(但不可通过pageContext对象获取保存在request范围内的变量)

—其他均为Map类对象

​ ●环境信息中的隐含对象(6个)

​ —param.paramValues

​ —header.headerValues

​ —cookie

​ —initParam

​ ●作用域范围对象(4个)

​ —pageScope

​ —requestScope

​ —sessionScope

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值