EL表达式学习笔记

使用传统方式获取作用域数据的缺点:
  缺点1:需要导包
  缺点2:需要强转
  缺点3:获取数据的代码过于麻烦



使用EL表达式获取作用域数据:
  作用:获取作用域对象中的数据
  注意:获取的是pageContext、request、session、application四个对象中的数据
  语法:
    ${表达式}
  表达式:
    request对象存储了请求数据-->param.键名 (返回值)
    request对象存储了请求数据-->paramValues.键名 (返回的是数组)  
    通过setAttribute方法存储到作用域对象中的数据:
      ${键名}-->返回键名所对应的值
      注意:
        如果存储的是普通字符串则直接返回
        如果存储的是对象,则返回的是对象
        获取对象中的数据:
        普通对象 ${键名.属性名.....}
        集合对象 list集合-->${键名[角标]}
        map集合-->${键名.map集合存储的键名}
  EL的作用域查找顺序:
    pageContext-->request-->session-->application
    注意:每次查找都是从小到大查找,找到了则获取,找不到继续找。
    指定查找:
      ${pageScope.键名 }-->${requestScope.键名 }-->${sessionScope.键名 }-->${applicationScope.键名 }
  EL表达式的逻辑运算:
    ${逻辑表达式} && || !
    ${算术表达式} +,-,*,/
    ${关系表达式} >,<,<=,<=,%
    特殊:三目运算
    注意:
    +表示加法运算,不表示字符链接。使用EL表达式会报错。
  EL的空值判断:
    ${empty 键名}
    作用:
      判断键名对象的值是否存有数据。
  EL获取请求头数据以及Cookie
    请求数据头:
      ${header}-->返回所有的数据头数据
      ${header["键名"]-->返回指定的键名的请求头数据
      ${headerValues["键名"]-->返回指定的键名(同键不同名)的值的数据
    获取cookie数据:
      ${cookie}-->返回了存储了所有cookie对象的map集合
      ${cookie.键名}-->返回指定的cookie对象
      ${cookie.键名.name}-->返回指定的cookie对象存储的数据的键名
      ${cookie.键名.value}-->返回指定的cookie对象存储的数据的值

你可能感兴趣的:(EL表达式学习笔记)