EL(Experssion Language 表达式语言)
EL表达式用于获取request、session等存储对象的信息输出
1.作用:
(1)依次访问四大作用域对象(pageContext request session application)中的值。
(2)可以获取javaBean中的属性值
(3)可以做简单的运算和判断
(4)可以获取请求参数的值
(5)可以获取请求头以及Cookie中的值
2.语法:
(1)基本语法
${表达式}
(2)EL访问javaBean中的属性
${对象名.属性名} 属性名是get方法,去掉get后首字母小写
${对象名["属性名"]} 属性名是get方法,去掉get后首字母小写
属性名需要使用引号引起来,否则会把属性名当做一个变量取
值
(3)EL表达式内置对象
A.表达作用域
pageScope 代表指定从pageContext对象中取值
requestScope 代表指定从request对象中取值
sessionScope 代表指定从session对象中取值
applicationScope 代表指定从application对象中取值
B.管理jsp中的内置对象
pageContext
【绝对路径以 / 开始,/ 在项目中代表项目名前面的部分】
【获取项目名:${pageContext.request.Contextpath}】
C.参数相关
param 获取所有参数,并封装成一个Map对象,以参数名为key,以参数值为value
paramValues 获取所有参数,并封装成一个Map对象,以参数名为key,把参数值封装成一个字符串数组作为value
D.请求头
header 获取所有请求头信息,并封装成一个Map对象,以请求头名为key,以请求值为value
headerValues 获取所有请求头信息,并封装成一个Map对象,以请求名为key,将请求值封装成一个字符串数组作为value
E.Cookie 对应的内置对象
cookie
F.初始化参数对应的内置对象
initParam
3.EL表达式运算符
(1)数学运算符
+ - * / % 重点关注 / 和 % (除法没有取整特性)
(2)关系运算符
== eq
!= ne
> gt
< lt
>= ge
<= le
(3)逻辑运算符
&& and ${a&&b} 等价 ${a and b}
|| or
! not
(4)判断空的运算符
empty 可以判断一个变量是否定义,如果没有定义则返回true
如果定义变量,但赋值是null或者" "或者不赋值,则返回true
如果是一个集合,虽然赋值,但里面没有元素这个也返回true
其他情况返回false