下表列出了 11 个 EL 隐式对象的标识符。不要将这些对象与 JSP 隐式对象(一共只有九个)混淆,其中只有一个对象是它们所共有的。
类别
|
标识符
|
描述
|
JSP
|
pageContext
|
PageContext 实例对应于当前页面的处理
|
作用域
|
pageScope
|
与页面作用域属性的名称和值相关联的 Map 类
|
requestScope
|
与请求作用域属性的名称和值相关联的 Map 类
|
sessionScope
|
与会话作用域属性的名称和值相关联的 Map 类
|
applicationScope
|
与应用程序作用域属性的名称和值相关联的 Map 类
|
请求参数
|
param
|
按名称存储请求参数的主要值的 Map 类
|
paramValues
|
将请求参数的所有值作为 String 数组存储的 Map 类
|
请求头
|
header
|
按名称存储请求头主要值的 Map 类
|
headerValues
|
将请求头的所有值作为 String 数组存储的 Map 类
|
Cookie
|
cookie
|
按名称存储请求附带的 cookie 的 Map 类
|
初始化参数
|
initParam
|
按名称存储 Web 应用程序上下文初始化参数的 Map 类
|
尽管 JSP 和 EL 隐式对象中只有一个公共对象(pageContext),但通过 EL 也可以访问其它 JSP 隐式对象。原因是 pageContext 拥有访问所有其它八个 JSP 隐式对象的特性。实际上,这是将它包括在 EL 隐式对象中的主要理由。
其余所有 EL 隐式对象都是映射,可以用来查找对应于名称的对象。前四个映射表示先前讨论的各种属性作用域。可以用它们来查找特定作用域中的标识符,而不用依赖于 EL 在缺省情况下使用的顺序查找过程。
接下来的四个映射用来获取请求参数和请求头的值。因为 HTTP 协议允许请求参数和请求头具有多个值,所以它们各有一对映射。每对中的第一个映射返回请求参数或头的主要值,通常是恰巧在实际请求中首先指定的那个值。每对中第二个映射允许检索参数或头的所有值。这些映射中的键是参数或头的名称,但这些值是 String对象的数组,其中的每个元素都是单一参数值或头值。
cookie 隐式对象提供了对由请求设置的 cookie
名称的访问。这个对象将所有与请求相关联的 cookie 名称映射到表示那些 cookie 特性的 Cookie对象。
最后一个 EL 隐式对象 initParam 是一个映射,它储存与 Web 应用程序相关联的所有上下文的初始化参数的名称和值。初始化参数是通过 web.xml 部署描述符文件指定的,该文件位于应用程序的 WEB-INF 目录中。
pageContext
JSP 页的上下文。它可以用于访问 JSP 隐式对象,如请求、响应、会话、输出、servletContext 等。例如,${pageContext.response} 为页面的响应对象赋值。
pageScope
将页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope.objectName.attributeName} 访问对象的属性。
requestScope
将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用
${requestScope.objectName.attributeName} 访问对象的属性。
sessionScope
将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例如:
${sessionScope.name}
applicationScope
将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。
param
将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter (String name) 获得)。getParameter
(String) 方法返回带有特定名称的参数。表达式 $(param.name) 相当于 request.getParameter (name)。
paramValues
将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues.name) 相当于 request.getParamterValues(name)。
header
将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式
${header.name} 相当于 request.getHeader(name)。
headerValues
将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式
${headerValues.name} 相当于 request.getHeaderValues(name)。
cookie
将 cookie 名称映射到单个 cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式 ${cookie.name.value} 返回带有特定名称的第一个 cookie 值。如果请求包含多个同名的 cookie,则应该使用 ${headerValues.name} 表达式。
initParam
将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。
特别强调:
1、注意当表达式根据名称引用这些对象之一时,返回的是相应的对象而不是相应的属性。例如:即使现有的 pageContext 属性包含某些其他值,${pageContext} 也返回 PageContext 对象。
2、 注意 <%@ page
isELIgnored="true" %> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言。
分享到:
相关推荐
#### 二、EL隐式对象 EL提供了多个预定义的隐式对象,使得开发人员能够方便地访问页面上下文、请求参数、会话数据等。这些隐式对象无需显式声明即可直接使用。 ##### 1. 与范围相关的隐式对象 - **pageScope**: ...
【JavaWeb程序设计入门课件EL隐式对象共6页.pdf】 这门JavaWeb程序设计入门课件主要聚焦于EL(Expression Language)隐式对象,它是一个强大的JSP(JavaServer Pages)表达式语言,用于简化JavaWeb开发中的数据访问...
7.3 EL隐式对象是EL语言的一个重要特性。在JSP中,我们有9个隐式对象,比如request、response、session等,而在EL中,这个数量增加到了11个。值得注意的是,EL和JSP共享一个隐式对象——`pageContext`,但其余的隐式...
EL表达式的隐式对象 EL表达式的隐式对象是JSP中的一种特殊对象,用于存储和访问当前Web应用程序的状态信息。EL表达式隐式对象可以分为两类:一类是pageContext对象,另一类是四个域(page、request、session、...
与范围相关的EL隐式对象包括: - `pageScope`:页面范围 - `requestScope`:请求范围 - `sessionScope`:会话范围 - `applicationScope`:应用程序范围 这些对象主要用于访问不同范围内的属性值。例如,要获取存储...
JSP提供了一些预定义的EL隐式对象,如`pageContext`、`request`、`session`和`application`,它们可以直接在EL表达式中使用。此外,还有`param`和`paramValues`用于访问请求参数,`header`和`headerValues`用于访问...
EL 提供了多种隐式对象,包括: * pageContext:提供对页面属性的访问 * param:返回客户端的请求参数的字符串值 * paramValues:返回映射至客户端的请求参数的一组值 * header:返回请求头的字符串值 * header...
7. **EL隐式对象**:EL提供了一些预定义的对象,如`pageContext`、`request`、`session`和`application`,它们分别对应JSP的四个作用域。这些隐式对象可以用来直接访问请求参数、session属性等。 通过合理使用EL,...
EL 中提供了多个隐式对象来简化开发过程,主要包括: - **param**:返回请求参数中单个字符串的值。 - **paramValues**:返回请求参数的一组值。 - **pageScope**、**requestScope**、**sessionScope**、**...
JSP页面中有一些预定义的EL隐式对象,例如pageContext、request、response、session和application,它们提供对Servlet API的访问。 **10. EL表达式与EL表达式变量** EL表达式可以定义和使用变量,例如`${var = ...
2. EL隐式对象: EL表达式提供了多个隐式对象,包括pageContext、request、session和application,这些对象分别对应于JSP的四个作用域。例如,`${requestScope.hello}`会直接从请求作用域中获取名为`hello`的属性,...
3. **EL隐式对象**:EL提供了一些预定义的对象,如`pageContext`、`request`、`response`等,可以直接在EL表达式中使用。 总结来说,JSP EL表达式是JavaWeb开发中的强大工具,它简化了数据访问,提高了开发效率,是...
5. 高级特性:除了基本的隐式对象,JSP还有EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library),它们提供了更简洁的表达式语法和标签库,进一步简化了JSP的编写。 6. 学习资源与实践: - ...
除了11个EL隐式对象(如`pageContext`、`requestScope`等)外,其他标识符代表作用域内的变量。 3. **EL隐式对象**:这些对象提供了对不同作用域的直接访问,例如: - `pageContext`:代表当前页面的处理。 - `...
#### 常见的EL隐式对象 - **${param}**:返回请求参数中单个字符串的值。 - **${paramValues}**:返回请求参数的一组值。 - **${pageScope}**:页面范围的变量。 - **${requestScope}**:请求对象的变量。 - **${...
6. **EL隐式对象**:如`request`, `session`, `application`, `pageContext`, `page`, `param`, `paramValues`等。 7. **EL的函数库**:如`fn:trim`, `fn:length`, `fn:split`等,它们提供了对字符串和其他类型的...
- **EL隐式对象**:EL提供了一些预定义的对象,如`pageScope`, `requestScope`, `sessionScope`, `applicationScope`,分别对应不同的作用域。 **4. JSP 2.0中的自定义标签** - **创建TLD**:定义自定义标签的元...
**EL隐式对象** EL提供了一些预定义的对象,如 `request`, `session`, `pageContext` 等,可以直接在EL表达式中使用。 ### EL运算符 - 加法运算:`${1+2}` 结果为3。 - 空检查:`${empty username}` 检查 `...