EL表达式的 11个隐含对象 介绍

一.获取数据的格式如下:

${EL隐含对象.关键字对象.属性}
${EL隐含对象.关键字对象}

二.EL隐含对象

1.pageContex:

相当于JSP页面中的pageContext对象(取的是pageContext对象)

2. pageScope(表示page域中用于保存属性的Map对象)

作用是从指定的page域中查找数据
 <% 
      pageContext.setAttribute("name","aaa");  //Map
    %>
 ${pageScope.name }

3.requestScope(表示request域中用于保存属性的Map对象)

作用是从request域中获取数据
		<% 
          request.setAttribute("name","dhl");  //Map
        %>
               ${requestScope.name }

4.sessionScope(表示session域中用于保存属性的Map对象)

作用是从session域中获取数据
		<% 
         session.setAttribute("name","dhl");  //Map
       %>
       ${sessionScope.name }

5.applicationScope(表示application域中用于保存属性的Map对象)

		<% 
         application.setAttribute("name","dhl");  //Map
       %>
       ${applicationScope.name }

6. param(表示一个保存了所有请求参数的Map对象)

 <!-- http://localhost:8080/dhl.jsp?name=aaa  -->
       	 ${param.name }  
         
此表达式会经常用在数据回显上
模拟的应用场景是表单提交到后台校验没有通过,回到注册页面时的数据回显,即如下所示
       <form action="${pageContext.request.contextPath }/servlet/RegisterServlet" 				method="post">
          <input type="text" name="username" value="${param.username }">
          <input type="submit" value="注册">
       </form>

7.paramValues(表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[] )

<!-- http://localhost:8080/dhl.jsp?like=aaa&like=bbb -->
        ${paramValues.like[0] }  
        ${paramValues.like[1] } 

8.initParam(表示一个保存了所有web应用初始化参数的map对象 )

目标是获取web应用初始化参数
		${initParam.xxx }  
        ${initParam.root }
xxx和root是指servletContext中用于保存初始化参数的map的属性

9.cookie(表示一个保存了所有cookie的Map对象)

从cookie隐式对象中根据名称获取到的是cookie对象,获取值需要.value ,即如下所示:
  ${cookie.JSESSIONID.value }  

10.header(表示一个保存了所有http请求头字段的Map对象)

目标是获得请求头, 含有"-"符合的,应使用[ ]获取,即如下所示:
		${header.Accept } 
       	${header["Accept-Encoding"] } 

11.headerValues

测试headerValues时,如果头里含有“-”符号 ,例Accept-Encoding,则要写为headerValues[“Accept-Encoding”],headerValues 对象与 header 对象类似,都用于获取 HTTP 请求的一个具体header值。但是在某些情况下,可能存在同一个 header 拥有多个不同的值,这时就必须使用 headerValues 对象来解决问题.
如下所示: headerValues 对象获取 HTTP 请求的 header 的 user-agent 属性,EL 表达式写法如下:
${headerValues["user-agent"]}
运行结果如下:

[Ljava.lang.String;@16e347

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_大木_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值