文档章节

EL表达式中的隐含对象

开源中国段子手
 开源中国段子手
发布于 2016/01/27 14:48
字数 897
阅读 517
收藏 2

如果你对EL表达式基础不熟悉的话请看我前面的两篇博客:

EL表达式语言(一)以及EL表达式语言(二)

为了能够获得web应用程序中的相关数据,EL表达式中定义了一些隐含的对象。这些对象共有11个:

隐含对象
对象类型
说明
pageContext
javax.servlet.jsp.PageContext
用于访问jsp内置对象
param
java.util.Map
包含页面所有参数的名称和对应值的集合
paramValues
java.util.Map
包含页面所有参数的名称和对应多个值的集合
header    
java.util.Map
包含每个header名和值的集合
headerValues
java.util.Map
包含每个header名和可能的多个值的集合
cookie
java.util.Map
包含每个cookie名和值的集合
initParam  
java.util.Map
包含Servlet上下文初始请求参数名和对应值的集合
pageScope    
java.util.Map
包含page页面范围内的属性值的集合
requestScope
java.util.Map
包含request请求范围内属性值的集合
sessionScope
java.util.Map
包含session绘画范围内的属性值的集合
applicationScope
java.util.Map
包含application应用范围内的属性值的集合

1、PageContext对象的应用

    PageContext隐含对象用于访问JSP内置对象,如request、response、out、session、config和servletContext等,例如要访问当前session中的变量username可以使用如下的表达式

    ${PageContext.session.username}

2、param和paramValues对象的应用

    param对象用于获取请求参数的值。而如果一个参数名对应多个值时,则需要使用paramValues对象获取请求参数的值,在应用param对象时,返回的结果是字符串zai yingyong paramValues对象时,返回的结果是数组。

    例如:在JSP页面中放置一个名为user的文本框,关键代码如下:

<input type = "text" name = "user" id = "user">
    当表单提交之后,要获取user文本框的值,可以用一下表达式

    ${param.user}

    如果在JSP页面放置一个复选框,则:

<input type = "checkbox" name = "hobby" value = "1" id = "hobby">1
<input type = "checkbox" name = "hobby" value = "1" id = "hobby">2
<input type = "checkbox" name = "hobby" value = "1" id = "hobby">3
    当表单提交之后,要获取hobby的值,可以使用一下表达式

    ${paramValues.hobby[0]}${paramValues.hobby[1]}${paramValues.hobby[2]}

3、header和headerValues对象

    header对象用于获取HTTP请求的一个具体header值,但是在某些情况下,可能存在同一个header拥有多个不同值,这时必须使用headervalue对象。

    例如:要获取HTTP请求的header的Host属性,可以用:

    ${header.host}或者${header[host]}

    但是如果要获取HTTP请求的header的Accept-Agent属性,则必须使用一下EL表达式

    ${header["user-agent"]}

4、cookie对象的应用

    cookie对象用于访问由请求设置的cookie名称,如果在cookie中已经设定了一个名为username的值,那么可以使用${cookie.username}来获取cookie对象;但是如果要获取cookie中的值,则需要使用cookie对象的value属性。

    例如:使用response对象设置一个请求有效的cookie对象,然后使用EL表达式获取该cookie对象的值

        <% Cookie cookie = new Cookie("user","mr")

        response.addCookie(cookie);

        %>

        ${cookie.user.value}


EL语言概念到此结束。有兴趣的可以看一会儿的实战~

© 著作权归作者所有

共有 人打赏支持
开源中国段子手
粉丝 43
博文 178
码字总数 95519
作品 0
南京
程序员
初识 JSP---(EL表达式)

EL表达式 JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。标签的好处是非Java人员都可以使用。 JSP2.0 – 纯标签页面,即:不包含<% … %>、<%! … %>,以及<...

姜白告
08/03
0
0
OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例

取Session中的值 <c:out value="${sessionScope.user.userId}"></c:out><br> <c:out value="${user.userLoginName}"></c:out><br> <s:property value="#session.user.userId"/><br> ${sessi......

Zero__One
2012/10/18
0
0
javaweb开发之EL和JSTL

一、EL 1.概述 EL 全名为Expression Language。 EL表达式可用在所有的HTML和JSP标签中作用是代替JSP页面中复杂的JAVA代码。 EL主要作用如下: (1)获取数据: EL表达式主要用于替换JSP页面中的...

小米米儿小
2013/12/05
0
0
EL表达式和EL函数库

一、EL表达式简介   EL 全名为Expression Language。EL主要作用: 1、获取数据     EL表达式主要用于替换JSP页面中的脚本表达式<%= %>,以从各种类型的web域 中检索java对象、获取数据...

_Roger_
2016/01/26
562
0
EL+servlet+jsp实现简单的投票程序版本一

如果你还没有EL基础的话请看我的前面几篇博客: EL表达式(一):http://my.oschina.net/passer007/blog/608675 EL表达式(二):http://my.oschina.net/passer007/blog/610221 EL表达式中的...

开源中国段子手
2016/01/27
330
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
11分钟前
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
45分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部