EL表达式

EL表达式的学习:

  传统方式获取作用域数据:

    缺点一:导入包

    缺点二:需要强转

    缺点三:获取数据的代码过于麻烦

  使用EL表达式获取作用域数据:

    作用:获取作用域对象中的数据

    注意:获取的是 pageContext、request、session、application 四个对象中的数据,其他数据一概不理会

    找到了则获取返回,找不到则什么都不会做,也不报错。

  语法:

    ${表达式}

  表达式:

    获取请求数据

    request 对象存储了请求数据 ---> param.键名 返回值

    request 对象存储了请求数据 ---> paramvalues.键名 返回的是数组

    通过 setAttribute 方法存储到作用域对象中的数据

    $(键名) 返回键名所对应的值

  注意:

    如果存储的是普通字符串则直接返回

    如果存储的是对象,则返回的是对象

    获取对象中的数据:

    普通对象

      $(键名.属性名.属性名....)

    集合对象

      list 集合 ----> ${键名[下标]}

      map 集合 ----> ${键名.map集合存储的键名}

  作用域查找顺序:

    默认查找顺序:

    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 对象存储的数据的值

原文地址:https://www.cnblogs.com/maigy/p/10923702.html