传统方式获取作用域数据:
弊端:1.导包2.强转3.获取数据过于麻烦
使用El表达式获取作用域数据
作用:获取作用域对象中的数据
注意:获取的是pageContext,request,session,application四个对象中的数据,其他数据一概不理会 找到则获取返回,找不到什么都不做,也不报错.
语法:
${表达式}
表达式:
request对象存储了请求数据 --param.键名 ( 返回值)
request对象存储了请求数据 --paramvalues.键名 (返回的是数组)
通过setAttribute方法存储到作用域对象中的数据
${键名} (返回键名所对应的值)
注意:
如果存储的是普通字符串则直接返回
如果存储的是对象,则返回的是对象
获取对象中的数据:
普通对象:
${键名.属性名}
集合对象
list集合 ${键名[下标]}
map集合 ${键名.map集合存储的键名}
作用域查找顺序(默认):
pageContext–request–session-application
注意:
每次操作都是从小到大顺序查找,找到则获取,不再继续找了
session会话:存在默认30分钟
application:项目结束
指定作用域查找
${pageScope.键名} ${requestScope.键名} ${sessionScpe.键名} ${application.键名}
EL的空值判断
${empty 键名}
作用:判断键名对象的值是否存有数据