public class JspApplicationContextImpl extends java.lang.Object implements JspApplicationContext
Constructor and Description |
---|
JspApplicationContextImpl(ServletContext context) |
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. |
protected ELContext |
createELContext(ELResolver resolver) |
protected static JspApplicationContextImpl |
findJspApplicationContext(ServletContext context) |
protected java.util.Iterator<ELResolver> |
getELResolvers() |
ExpressionFactory |
getExpressionFactory()
Returns a factory used to create
ValueExpression s and MethodExpression s so that EL
expressions can be parsed and evaluated. |
static void |
removeJspApplicationContext(ServletContext context) |
void |
setExpressionFactory(ExpressionFactory expressionFactory) |
public JspApplicationContextImpl(ServletContext context)
public void addELResolver(ELResolver resolver)
JspApplicationContext
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.javax.el.MapELResolver
javax.el.ListELResolver
javax.el.ArrayELResolver
javax.el.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.
This restriction is in place to allow the JSP container to optimize for the common case where no additional
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.
addELResolver
in interface JspApplicationContext
resolver
- The new ELResolver
public ExpressionFactory getExpressionFactory()
JspApplicationContext
ValueExpression
s and MethodExpression
s so that EL
expressions can be parsed and evaluated.getExpressionFactory
in interface JspApplicationContext
ExpressionFactory
.public void setExpressionFactory(ExpressionFactory expressionFactory)
public void addELContextListener(ELContextListener listener)
JspApplicationContext
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 JspApplicationContext.addELResolver(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.
addELContextListener
in interface JspApplicationContext
listener
- The listener to be notified when a new ELContext
is created.protected ELContext createELContext(ELResolver resolver)
protected static JspApplicationContextImpl findJspApplicationContext(ServletContext context)
public static void removeJspApplicationContext(ServletContext context)
protected java.util.Iterator<ELResolver> getELResolvers()