作用:获取作用域对象中的数据
注意:EL表达式获取的是pageContext、request、session、application
四个对象中的数据,找到就返回数据,反之什么都不做
语法:${表达式}
、[]
使用EL表达式获取请求数据
${param.键名}
:返回键名所对应的请求数据的值${paramvalues.键名}
:返回一个数组
使用EL表达式获取作用域数据
作用域数据是通过setAttribute方法存储到作用域对象中的数据
使用:${键名}
:返回键名所对应的值
注意:
- 如果存储的是普通字符串则直接返回
- 如果存储的是对象,则返回的是对象
- 获取对象中的数据
- 普通对象:
${键名.属性名.属性名....}
- 集合对象
- list集合:
${键名[角标]}
- map集合:
${键名.map集合存储的键名}
- list集合:
- 普通对象:
作用域查找顺序
- 默认查找顺序:
pageConext--->request--->session--->application
- 默认查找顺序每次查找都是从小到大进行查找,找到了则获取,不再继续向下查找了
如果找到最后一个作用域也没有找到,便什么也不输出 - 指定作用域查找,在指定作用域找不到便不输出任何东西
${pageScope.键名}
${requestScope.键名}
${sessionScope.键名}
${applicationScope.键名}
使用EL表达式进行运算
- ${逻辑表达式}:
&& || !
- ${算术表达式}:
+,-,*,/
- ${关系表达式}:
>,<,>=,==,!=,%
- 三目运算:
${表达式?执行1:执行2}
实例:
${1+2}--${1*2}--${4/2}--${4-2}--${4%3}--${4==4}--${4>2}--${sex==1?'男':'女'}--${1+'2'}
注意:+表示加法运算,不表示字符链接。使用EL表达式进行字符链接会报错
使用EL表达式进行空值判断
${empty 键名}
:判断键名对象的值是否存有数据
EL获取请求头数据和Cookie数据
- 请求头数据
${header}
:返回所有的请求头数据
${header["键名"]}
:返回指定的键名的请求头数据
${hedaerValues["键名"]}
:返回指定的键名(同键不同值)的值的数组 - 获取Cookie数据
${cookie}
:返回存储了所有的cookie对象的map集合
${cookie.键名}
:返回指定的cookie对象
${cookie.键名.name}
:返回指定的cookie对象存储的数据的键名
${cookie.键名.value}
:返回指定的cookie对象存储的数据的值