public interface JspApplicationContext
The JSP container must create a single instance of
JspApplicationContext
for each
ServletContext
instance.
An instance of JspApplicationContext
is obtained by
invoking the static JspFactory.getJspApplicationContext(javax.servlet.ServletContext)
method,
passing the ServletContext
of the corresponding web
application.
The JspApplicationContext
provides the following services
to JSP applications:
ELResolver
s, which are used to
resolve variables in EL expressions contained in JSP pages and
tag files.ExpressionFactory
for those
applications or frameworks that need to perform programmatic
evaluation of EL expressions instead of allowing the JSP
container to do it for them.ELContextListener
instances
for notification whenever a new ELContext
is created.
This is necessary when an application wishes to make custom
context objects available to their pluggable
ELResolver
s.ServletContext
,
JspFactory
,
ELResolver
,
ExpressionFactory
,
ELContextListener
Modifier and Type | Method and Description |
---|---|
void |
addELContextListener(ELContextListener listener)
Registers a
ELContextListener s so that context objects
can be added whenever a new ELContext is created. |
void |
addELResolver(ELResolver resolver)
Adds an
ELResolver to affect the way EL variables
and properties are resolved for EL expressions appearing in JSP pages
and tag files. |
ExpressionFactory |
getExpressionFactory()
Returns a factory used to create
ValueExpression s and
MethodExpression s so that EL expressions can be
parsed and evaluated. |
void addELResolver(ELResolver resolver)
ELResolver
to affect the way EL variables
and properties are resolved for EL expressions appearing in JSP pages
and tag files.
For example, in the EL expression ${employee.lastName}, an
ELResolver
determines what object "employee"
references and how to find its "lastName" property.
When evaluating an expression, the JSP container will consult a set of standard resolvers as well as any resolvers registered via this method. The set of resolvers are consulted in the following order:
ImplicitObjectELResolver
ELResolver
s registered via this method, in the
order in which they are registered.MapELResolver
ListELResolver
ArrayELResolver
BeanELResolver
ScopedAttributeELResolver
It is illegal to register an ELResolver
after the
application has received any request from the client. If an
attempt is made to register an ELResolver
after that time,
an IllegalStateException
is thrown.
ELResolver
s are in the chain,
aside from the standard ones. It is permissible to add
ELResolver
s before or after initialization to
a CompositeELResolver
that is already in the chain.
It is not possible to remove an ELResolver
registered
with this method, once it has been registered.
resolver
- The new ELResolver
IllegalStateException
- if an attempt is made to
call this method after all ServletContextListener
s
have had their contextInitialized
methods invoked.ExpressionFactory getExpressionFactory()
ValueExpression
s and
MethodExpression
s so that EL expressions can be
parsed and evaluated.ExpressionFactory
.void addELContextListener(ELContextListener listener)
ELContextListener
s so that context objects
can be added whenever a new ELContext
is created.
At a minimum, the ELContext
objects created will
contain a reference to the JspContext
for this request,
which is added by the JSP container.
This is sufficient for all the
default ELResolver
s listed in addELResolver(javax.el.ELResolver)
.
Note that JspContext.class
is used as the key to ELContext.putContext()
for the JspContext
object reference.
This method is generally used by frameworks and applications that
register their own ELResolver
that needs context other
than JspContext
. The listener will typically add the
necessary context to the ELContext
provided in the
event object. Registering a listener that adds context allows the
ELResolver
s in the stack to access the context they
need when they do a resolution.
listener
- The listener to be notified when a new
ELContext
is created.Copyright © 2019 JBoss by Red Hat. All rights reserved.