• EL表达式


    什么是EL表达式?

    EL全称:Expression Language,是一种写法非常简洁的表达式,语法简单易懂,便于使用。

    表达式语言的灵感来自于ECMAScript和XPath表达式语言。

    EL表达式的作用

    让jsp书写起来更加的方便。简化在jsp中获取作用域数据或者请求数据的写法。也会搭配Jstl来进行使用。

    EL表达式的使用

      语法结构:$(expression),提供“.”和“[ ]”两种运算符来存取数据。

      a)使用EL表达式获取请求数据
      1.获取用户请求数据
      2.获取请求头数据
      3.获取Cookie数据
      b)使用EL表达式获取作用域数据

      1.获取作用域数据

      2.作用域查找顺序

      3.获取指定作用域中的数据

      c)使用EL表达式进行运算
      1.算术运算
      2.关系运算
      3.逻辑运算
      d)使用EL表达式进行空值判断

    传统方式获取作用域数据:
      缺点一:需要导入相关实体类
      缺点二:需要强转
      缺点三:获取数据的代码过于麻烦

    使用EL表达式获取作用域数据:
      作用:获取作用域对象中的数据。

      语法格式:${表达式}

      注意:

      获取的是pageContext、request、session、application四个对象中的数据,其他数据一概不理会,找到了则获取返回,找不到则什么都不做,也不报错。 

    获取请求数据
      request对象存储了请求数据->param.键名 返回值
      request对象存储了请求数据->paramValues.键名 返回的是数组
    获取通过setAttribute方法存储到作用域对象中的数据
      语法:${键名} ,返回键名对应的值
      注意:
      如果存储的是字符串则直接返回;
      如果存储的是对象,则返回的是对象。

    获取对象中的数据
      普通对象
      ${键名.属性名.属性名...}
      集合对象
      list集合->${键名[下标]}
      map集合->${键名.map集合存储的键名}

    作用域查找顺序:
      pageContext->request->session->application(从小到大)
      注意:
      每次查找都是从小到大进行查找,找到了则获取,不再继续找了。
    指定作用域范围查找:
      ${pageScope.键名}
      ${requestScope.键名}
      ${sessionScope.键名}
      ${applicationScope.键名}

    EL表达式的逻辑运算:
      ${逻辑表达式}:&& || !
      ${算术表达式}:+、-、*、/
      ${关系表达式}:>、<、>=、<=、==、!=、%
      三目运算
      例:
      逻辑运算:${4>2} -> true
      算术运算:${1+2} -> 3
      关系运算:${1+'2'} -> 3
      三目运算:${sex==1?'男':'女'} -> 女
      注意:
      “+”号在EL表达式中默认做加法运算,不做字符串连接。使用EL表达式进行字符串连接会报错。

    EL的空值判断:
      语法格式:${empty 键名}

      作用:判断键名对象的值是否存有数据。

    EL表达式获取请求头数据:

      ${header}->返回所有的请求头数据
      ${header["键名"]}->返回指定的键名的请求头数据
      ${headerValues["键名"]}->返回指定的键名(同键不同值)的值的数组
    EL表达式获取Cookie数据:
      
    ${cookie}->返回存储了所有的cookie对象的map集合
      ${cookie.键名}->返回指定的cookie对象
      ${cookie.键名.name}->返回指定的cookie对象存储的数据的键名
      ${cookie.键名.value}->返回指定的cookie对象存储的数据的值。

     

  • 相关阅读:
    Windows系统下安装运行Kafka
    Git强制拉取覆盖本地
    Windows Server 2008/2012 计划任务配置执行bat
    Task.Run()任务执行
    Oracle数据重复,只取一条
    Oracle数据库查看表空间是否为自增的
    How to disable Microsoft Compatibility Telemetry
    最新版谷歌浏览器的Flash设置已经不能保存了?
    亲子之间,在于看懂,无关耐心zz
    读懂孩子有方法
  • 原文地址:https://www.cnblogs.com/skyzou/p/12309159.html
Copyright © 2020-2023  润新知