Implicit Objects
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
session
: The session object for the client. See
request
: The request triggering the execution of the JSP page. See
response
: The response returned by the JSP page. See
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
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