1.定义
EL ( Expression Language ,表达式语言)是一-种简单的语言, 可以方便地访问和处理应用程序数据,而无需使用JSP脚本元素( Scriptlet )或JSP表达式。
2.使用条件
支持Servlet 2.4、JSP 2.0 以上版本的Web容器,可以在JSP网页中直接使用EL。EL表达式未禁用(禁用方法:1.在el表达式之前加"" 例如:${1 + 2} . 2.在page指令中指定isELIgnored=“true”。 3.在web.xml中配置 < el-ignored>元素
3.存取范围默认从page中找然后依次从request、session、application中查找找到返回值,未找到返回null
4.通过el访问数据${user.userName}${user[userName]}${user[“userName”]} ( 这种方式可以用于读取数据、List、Map或者是对象容器里的数据。)
5.[]与.运算符
EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。
例如: $ {user.My-Name}应当改为${user[“My-Name”] } .
如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如: ${sessionScope.user[data]}中data 是一个变量
6.el隐含对象
EL一共11个隐含对象,无需创建便可使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。
pageScoperequestScopesessionScopeapplicationScopeparam;paramValues;header;headerValues;initParam;cookie;pageContext;
7.域相关内置对象
pageScope:${pageScope.name}等同与pageContext.getAttribute(“name”);requestScope:${requestScope.name}等同与request.getAttribute(“name”);sessionScope:${sessionScope.name}等同与session.getAttribute(“name”);applicationScope:
a
p
p
l
i
c
a
t
i
o
n
S
c
o
p
e
.
n
a
m
e
等
同
与
a
p
p
l
i
c
a
t
i
o
n
.
g
e
t
A
t
t
r
i
b
u
t
e
(
“
n
a
m
e
”
)
;
如
果
在
域
中
保
存
的
是
J
a
v
a
B
e
a
n
对
象
,
那
么
可
以
使
用
E
L
来
访
问
J
a
v
a
B
e
a
n
属
性
。
因
为
E
L
只
做
读
取
***
作
,
所
以
J
a
v
a
B
e
a
n
一
定
要
提
供
g
e
t
方
法
,
而
s
e
t
方
法
没
有
要
求
。
全
域
查
找
:
{applicationScope.name}等同与application.getAttribute(“name”); 如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取 *** 作,所以JavaBean一定要提供get方法,而set方法没有要求。 全域查找:
applicationScope.name等同与application.getAttribute(“name”);如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取 *** 作,所以JavaBean一定要提供get方法,而set方法没有要求。全域查找:{person}表示依次在pageScope、requesScopet、sessionScope、appliationScope四个域中查找名字为person的属性。
评论列表(0条)