EL表达式(Expression Language)
EL简介
-
EL
是
JSP
内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象
,取得对象属性的值,或执行简单的运算或判断操作。
EL
在得到某个数据时,会自动进行数据类型的转换。
-
EL
表达式用于代替
JSP
表达式
(<%= %>)
在页面中做输出操作。
-
EL
表达式仅仅用来读取数据,而不能对数据进行修改。
-
使用
EL
表达式输出数据时,如果有则输出数据,如果为
null
则什么也不输出。
EL基本使用
-
EL
表达式总是放在
{}
中,而且前边有一个
$
作为前缀。
-
-
${EL
表达式
}
-
获取域中的对象可以直接使用对象名,如获取域中名字为
user
的对象
-
-
${user}
-
获取对象的属性值可以直接通过“对象
.
属性名
”
-
-
${user.name}
-
${user.age}
-
注意:这里的属性名是
get
和
set
方法对应的属性值,并不是对象中的变量名。
-
-
比如:如果获取
name
属性值,那么该对象中必定要存在一个
getName()
方法。
-
获取对象的属性也可以通过“对象
[“
属性名
”]
”
-
-
${user[“name”]}
-
${user[“age”]}
-
获取
Map
中属性时可以以直接通过属性的
key
-
-
${map.key}
-
${map[key]}
-
在指定域中获取属性
-
-
在
EL
表达式中如果我们直接使用属性名如:
${user}
,它将会在四个域中由小到大依次查找。顺序:
pageScope
、
requestScope
、
sessionScope
、
applicationScope
。
-
也可以指定从哪个域中获取:
-
-
${ pageScope .user}
:当前页面
-
${requestScope.user}
:当前请求
-
${sessionScope.user}
:当前会话
-
${sessionScope.user}
:当前应用
EL隐含对象
-
EL
中包含
11
个隐含对象,这些对象可以在
EL
表达式中直接使用。
pageContext
-
pageContext
和
JSP
中的
pageContext
功能一样。
请求域
-
请求域主要用于获取域对象中的属性,四个对象分别对应四个请求域。
-
-
pageScope
-
requestScope
-
sessionScope
-
applicationScope
请求参数
-
参数对象主要用于获取
get
或
post
请求中的参数。
-
-
param
;
-
-
获取指定的请求参数,
如:
${param.username}
-
paramValues
;
-
-
获取请求参数数组,如:
${paramValues.sport[1]}
其他
-
header
;
-
headerValues
;
-
initParam
;
-
cookie
;
EL逻辑运算
运算符
说明
范例
结果
+
加
${17+5}
22
-
减
${17-5}
12
*
乘
${17*5}
85
/
或
div
除
${17/5}
或
${17 div 5}
3
%
或
mod
取余
${17%5}
或
${17 mod 5}
2
==
或
eq
等于
${5==5}
或
${5 eq 5}
true
!=
或
ne
不等于
${5!=5}
或
${5 ne 5}
false
<
或
lt
小于
${3<5}
或
${3 lt 5}
true
>
或
gt
大于
${3>5}
或
${3 gt 5}
false
<=
或
le
小于等于
${3<=5}
或
${3 le 5}
true
>=
或
ge
大于等于
${3>=5}
或
${3 ge 5}
false
&&
或
and
并且
${true&&false}
或
${true and false}
false
!
或
not
非
${!true}
或
${not true}
false
||
或
or
或者
${true||false}
或
${true or false}
true
empty
是否为空
${empty “”}
,可以判断字符串、数据、集合的长度是否为
0
,为
0
返回
true
。
empty
还可以与
not
或
!
一起使用。
${not empty “”}
true
EL表达式(Expression Language)
EL简介
-
EL 是 JSP 内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作。 EL 在得到某个数据时,会自动进行数据类型的转换。
-
EL 表达式用于代替 JSP 表达式 (<%= %>) 在页面中做输出操作。
-
EL 表达式仅仅用来读取数据,而不能对数据进行修改。
-
使用 EL 表达式输出数据时,如果有则输出数据,如果为 null 则什么也不输出。
EL基本使用
-
EL 表达式总是放在 {} 中,而且前边有一个 $ 作为前缀。
-
-
${EL 表达式 }
-
-
获取域中的对象可以直接使用对象名,如获取域中名字为 user 的对象
-
-
${user}
-
-
获取对象的属性值可以直接通过“对象 . 属性名 ”
-
-
${user.name}
-
${user.age}
-
注意:这里的属性名是 get 和 set 方法对应的属性值,并不是对象中的变量名。
-
-
比如:如果获取 name 属性值,那么该对象中必定要存在一个 getName() 方法。
-
-
-
获取对象的属性也可以通过“对象 [“ 属性名 ”] ”
-
-
${user[“name”]}
-
${user[“age”]}
-
-
获取 Map 中属性时可以以直接通过属性的 key
-
-
${map.key}
-
${map[key]}
-
-
在指定域中获取属性
-
-
在 EL 表达式中如果我们直接使用属性名如: ${user} ,它将会在四个域中由小到大依次查找。顺序: pageScope 、 requestScope 、 sessionScope 、 applicationScope 。
-
也可以指定从哪个域中获取:
-
-
${ pageScope .user} :当前页面
-
${requestScope.user} :当前请求
-
${sessionScope.user} :当前会话
-
${sessionScope.user} :当前应用
-
-
EL隐含对象
-
EL 中包含 11 个隐含对象,这些对象可以在 EL 表达式中直接使用。
pageContext
-
pageContext 和 JSP 中的 pageContext 功能一样。
请求域
-
请求域主要用于获取域对象中的属性,四个对象分别对应四个请求域。
-
-
pageScope
-
requestScope
-
sessionScope
-
applicationScope
-
请求参数
-
参数对象主要用于获取 get 或 post 请求中的参数。
-
-
param ;
-
-
获取指定的请求参数, 如: ${param.username}
-
-
paramValues ;
-
-
获取请求参数数组,如: ${paramValues.sport[1]}
-
-
其他
-
header ;
-
headerValues ;
-
initParam ;
-
cookie ;
EL逻辑运算
运算符
|
说明
|
范例
|
结果
|
+
|
加
|
${17+5}
|
22
|
-
|
减
|
${17-5}
|
12
|
*
|
乘
|
${17*5}
|
85
|
/
或
div
|
除
|
${17/5}
或
${17 div 5}
|
3
|
%
或
mod
|
取余
|
${17%5}
或
${17 mod 5}
|
2
|
==
或
eq
|
等于
|
${5==5}
或
${5 eq 5}
|
true
|
!=
或
ne
|
不等于
|
${5!=5}
或
${5 ne 5}
|
false
|
<
或
lt
|
小于
|
${3<5}
或
${3 lt 5}
|
true
|
>
或
gt
|
大于
|
${3>5}
或
${3 gt 5}
|
false
|
<=
或
le
|
小于等于
|
${3<=5}
或
${3 le 5}
|
true
|
>=
或
ge
|
大于等于
|
${3>=5}
或
${3 ge 5}
|
false
|
&&
或
and
|
并且
|
${true&&false}
或
${true and false}
|
false
|
!
或
not
|
非
|
${!true}
或
${not true}
|
false
|
||
或
or
|
或者
|
${true||false}
或
${true or false}
|
true
|
empty
|
是否为空
|
${empty “”}
,可以判断字符串、数据、集合的长度是否为
0
,为
0
返回
true
。
empty
还可以与
not
或
!
一起使用。
${not empty “”}
|
true
|