zoukankan      html  css  js  c++  java
  • EL表达式

    一、问题

    在servlet进行请求处理后,使用作用域对象作为数据流转的载体,将数据流转给对应的jsp文件。
    那么怎么在jsp中获取作用域中的数据呢?

    二、解决方法

    1. 传统方式:在jsp页面中使用java脚本段语句。
      缺点:导入包。需要强转。获取数据的代码过于麻烦。
    2. 使用EL表达式获取作用域数据
      作用:让jsp书写起来更加的方便。简化在jsp中获取作用域或者请求数据的写法。也会搭配jstl来进行使用

    三、语法结构

    ${expression}提供.和[]两种运算符来存取数据

    四、使用

    1. 使用EL表达式获取作用域对象数据。
      注意,获取的是pageContent、request、session、application四个对象中的数据,其他数据一概不理会。找到了则获取返回,找不到则什么都不做,不会报错。
    2. 语法:${表达式}
      表达式:
      获取请求数据
    • request对象存储了请求数据-->${param.键名} 返回值
    • request对象存储了请求数据-->${paramvalues.键名} 返回的是数组

    通过setAttribute方法存储到作用域对象中的数据,直接通过键名取值。

    • 如果存储的是普通字符串直接返回
    • 如果存储的是对象,则返回对象。获取对象中数据${键名.属性名.属性名.....}。如果是list集合对象${键名[索引]},map集合${键名.属性名.属性名.....}

    五、EL表达式的作用域查找顺序

    默认:

    • 按照作用域从小到大顺序找pageContext->request->session->application。找到则返回。

    指定查找:

    • ${pageScope.键名}------->${requestScope.键名}------->${sessionScope.键名}----->${applicationScope.键名}

    六、EL表达式的逻辑运算

    ${逻辑表达式|算数表达式}
    注意:+只表示加法运算,不表示字符连接。EL表达式不用来进行字符连接。

    七、EL空值判断

    ${empty 键名}。判断键名对应的值是否存有数据。

    八、EL获取请求头数据和Cookie数据

    1. 获取请求头数据
    • ${header} 返回所有的请求头数据
    • ${header["键名"]} 返回指定键名的请求头数据
    • ${headervalues["键名"]} 返回指定键名(同键不同值)的值的数组
    1. 获取Cookie数据
    • ${cookie} 返回存储了所有cookie对象的map集合
    • ${cookie.JSESSIONID} 返回指定的cookie对象
    • ${cookie.JSESSIONID.name} 返回指定的cookie对象存储的数据的键名
    • ${cookie.JSESSIONID.value} 返回指定的cookie对象存储的数据的值
  • 相关阅读:
    ORM框架
    优酷项目1
    新年第一天
    前端第十天
    前端第九天
    前端第八天
    前端第七天
    前端第六天
    前端第五天
    月亮与六便士
  • 原文地址:https://www.cnblogs.com/ylcc-zyq/p/12547230.html
Copyright © 2011-2022 走看看