欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

EL隐式对象

程序员文章站 2022-05-06 07:50:52
...

EL隐式对象

在学习JSP技术时,提到过隐式 对象的应用。在EL技术中,同样 提供了隐式对象,EL中的隐式对象 共有 11个,
EL隐式对象
pageContext可以获取 其它10个隐式对象,
pageScope、
requestScope
sessionScope
applicationScope适用于获取指定域的隐式对象

param和param Values是用于 获取 请求参数的隐式对象

header和headerValues是用于获取HTTP请求消息头的隐式对象

cookie是用于获取Cookie信息的隐式对象

initParam是用于获取 Web应用初始化信息的隐式对象

pageContext

为了获取JSP页面的隐式对象,可以使用EL表达式中的pageContext隐式对象,pageContext隐式对象的实例代码如下:

${pageContext.response.characterEncoding}

请求消息为:

${pageContext.request.requestURI}

服务器信息为:

${pageContext.servletContext.servletInfo}

使用EL表达式中的pageContext对象成功 地获取到了 request、response、servletContext和ServletConfig对象中的属性。需要注意的是,不要将EL表达式中的隐式对象与JSP中的隐式对象混淆,只有pageContext对象是它们所共有的,其它隐式对象则毫不相关。

Web域相关对象

在 Web 开发中,PageContext、HttpServletRequest、HttpSession和ServletContext这4个对象之所以可以存储数据,是因为它们内部都定义了一个Map集合,这些Map集合是有一定作用范围的。例如,HttpRequest对象存储的数据只在当前请求中可以获取带。习惯性地,我们把这些,Map集合称为域,这些Map集合所在的对象称为域对象。在EL表达式中,为了获取指定域中的数据,提供了 pageScope、requestScope、SessionScope和applicationScope4个隐式对象“
需要注意的是,EL表达式只能在这4个作用域中获取数据。

param和paramValues对象

在JSP页面中,经常需要 获取客户端传递的请求参数,为此,EL表达式t## 提供了param和paramValues两个隐式对象,这两个隐式对象专门用于获取客户端访问JSP页面时传递的请求参数(类似于 httprequest中的 getparam对象)

1、param对象
param对象用于获取请求参数的 某个值,它是 Map类型,与 request.getParameter()方法相同,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是Null。param对象的语法格式比较简单,具体示例如下:

${param.num}

2、paramValues对象
如果一个请求参数有多个值,可以使用paramValues对象来获取请求参数的所有值,该对象 用于返回请求参数所有值 组成的数组,如果要 获取某个请求 参数的第一个值,可以使用 如下代码:

${paramValues.num[0]}

cookie对象

在JSP开发中,经常要获取 客户端的Cookie信息,为此,在EL表达式中,提供了Cookie隐式对象,该对象是一个代表所有 Cookie 信息的Map集合,Map集合中元素的键为各个Cookie对象的名称,值则为对应的Cookie对象。

EL隐式对象
EL隐式对象

initParam对象

在开发一个Web应用程序时,通常会在 **web.xml 文件中配置 一些初始化参数,**为了方便 获取这些参数,EL表达式提供了 一个 initParam隐式对象,该对象 可以获取 Web应用 程序中 全局初始化 参数,
(注意与 param参数的区别)

EL表达式 简化了JSP页面的书写,使不懂Java编程的开发人员也可以编写功能强大的JSP页面、