EL表达式

1.EL简介

  • EL是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象
    ,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。
  • EL表达式用于代替JSP表达式(<%= %>)在页面中做输出操作。
  • EL表达式仅仅用来读取数据,而不能对数据进行修改。

注意:使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出。

2.EL基本语法

  • EL表达式总是放在{}中,而且前边有一个$作为前缀。

    ${EL表达式}

  • 获取域中的对象可以直接使用对象名,如获取域中名字为user的对象

    ${user}

  • 获取对象的属性值可以直接通过“对象.属性名”

    ${user.name}
    ${user.age}
    注意:这里的属性名是get和set方法对应的属性值,并不是对象中的变量名。
    比如:如果获取name属性值,那么该对象中必定要存在一个getName()方法。

  • 获取对象的属性也可以通过“对象[“属性名”]”

    ${user[“name”]}
    ${user[“age”]}

  • 获取Map中属性时可以以直接通过属性的key

    ${map.key}
    ${map[key]}

  • 获取List中属性通过下标获取

    ${list[index]}

  • 在指定域中获取属性

    在EL表达式中如果我们直接使用属性名如:${user},它将会在四个域中由小到大依次查找。顺序:pageScope、requestScope、sessionScope、applicationScope。
    也可以指定从哪个域中获取:
    ${ pageScope .user}:当前页面
    ${requestScope.user}:当前请求
    ${sessionScope.user}:当前会话
    ${sessionScope.user}:当前应用

3.EL隐含对象

1.pageContext(常用)

EL中的pageContext和jsp中的pageContext功能一样
作用:获取jsp中的其他8个隐含对象。
例如:
拼接url地址
http:// p a g e C o n t e x t . r e q u e s t . s e r v e r N a m e : {pageContext.request.serverName}: pageContext.request.serverName:{pageContext.request.serverPort}${pageContext.request.contextPath}/

2.pageScope(常用)

类型:Map<String,Object>
作用:获取pageContext域中存的属性。
例如:
${pageScope.key}

3.requestScope(常用)

类型:Map<String,Object>
作用:获取request域中存的属性。
例如:
${requestScope.key}

4.sessionScope(常用)

类型:Map<String,Object>
作用:获取session域中存的属性。
例如:
${session.key}

5.applicationScope(常用)

类型:Map<String,Object>
作用:获取application域中存的属性。
例如:
${applicationScope.key}

6.param(常用)

类型:Map<String,String>
作用:获取请求参数。
例如:http://localhost:8080/Project/resource?key=value
${param.key}

7.paramValues

类型:Map<String,String[]>
作用:获取请求参数。
例如:http://localhost:8080/Project/resource?key=val1&key=val2
${param.key} (得到的是一个数组)

8.header

类型:Map<String,String>
作用:获取请求头。
例如:
${header.key}

9.headerValues

类型:Map<String,String[]>
作用:获取请求头。(一个键对应多个值)

10.initParam

类型:Map<String,String>
作用:获取初始化参数。

11.cookie

类型:Map<String,Cookie>
作用:获取Cookie。
注意:EL中的cookie对象和Servlet中的Cookie不一样,EL中的cookie就代表请求报文所有的Cookie的Map,Map的键就是Cookie的name,值就是name对应的Cookie
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值