background image

Implicit Objects

<< EL Resolvers | Operators >>
<< EL Resolvers | Operators >>

Implicit Objects

Implicit Objects
The JSP expression language defines a set of implicit objects:
pageContext
: The context for the JSP page. Provides access to various objects including:
servletContext
: The context for the JSP page's servlet and any web components
contained in the same application. See
"Accessing the Web Context" on page 124
.
session
: The session object for the client. See
"Maintaining Client State" on page 125
.
request
: The request triggering the execution of the JSP page. See
"Getting Information
from Requests" on page 110
.
response
: The response returned by the JSP page. See
"Constructing Responses" on
page 112
.
In addition, several implicit objects are available that allow easy access to the following
objects:
param
: Maps a request parameter name to a single value
paramValues
: Maps a request parameter name to an array of values
header
: Maps a request header name to a single value
headerValues
: Maps a request header name to an array of values
cookie
: Maps a cookie name to a single cookie
initParam
: Maps a context initialization parameter name to a single value
Finally, there are objects that allow access to the various scoped variables described in
"Using Scope Objects" on page 105
.
pageScope
: Maps page-scoped variable names to their values
requestScope
: Maps request-scoped variable names to their values
sessionScope
: Maps session-scoped variable names to their values
applicationScope
: Maps application-scoped variable names to their values
JSP 2.1 provides two EL resolvers to handle expressions that reference these objects:
ImplicitObjectELResolver
and ScopedAttributeELResolver.
A variable that matches one of the implicit objects is evaluated by ImplicitObjectResolver,
which returns the implicit object. This resolver only handles expressions with a base of null.
What this means for the following expression is that the ImplicitObjectResolver resolves the
sessionScope
implicit object only. Once the implicit object is found, the MapELResolver
instance resolves the profile attribute because the profile object represents a map.
${sessionScope.profile}
ScopedAttributeELResolver
evaluates a single object that is stored in scope. Like
ImplicitObjectELResolver
, it also only evaluates expressions with a base of null. This
resolver essentially looks for an object in all of the scopes until it finds it, according to the
behavior of PageContext.findAttribute(String). For example, when evaluating the
Unified Expression Language
The Java EE 5 Tutorial · September 2007
162