Class JspApplicationContextImpl
- All Implemented Interfaces:
JspApplicationContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate javax.servlet.ServletContext
private ArrayList<javax.el.ELResolver>
private javax.el.ExpressionFactory
private ArrayList<javax.el.ELContextListener>
private static Map<javax.servlet.ServletContext,
JspApplicationContextImpl> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addELContextListener
(javax.el.ELContextListener listener) Registers aELContextListener
s so that context objects can be added whenever a newELContext
is created.void
addELResolver
(javax.el.ELResolver resolver) Adds anELResolver
to affect the way EL variables and properties are resolved for EL expressions appearing in JSP pages and tag files.protected javax.el.ELContext
createELContext
(javax.el.ELResolver resolver) protected static JspApplicationContextImpl
findJspApplicationContext
(javax.servlet.ServletContext context) protected Iterator<javax.el.ELResolver>
javax.el.ExpressionFactory
Returns a factory used to createValueExpression
s andMethodExpression
s so that EL expressions can be parsed and evaluated.static void
removeJspApplicationContext
(javax.servlet.ServletContext context) void
setExpressionFactory
(javax.el.ExpressionFactory expressionFactory)
-
Field Details
-
map
-
elResolvers
-
listeners
-
context
private javax.servlet.ServletContext context -
expressionFactory
private javax.el.ExpressionFactory expressionFactory
-
-
Constructor Details
-
JspApplicationContextImpl
public JspApplicationContextImpl(javax.servlet.ServletContext context)
-
-
Method Details
-
addELResolver
public void addELResolver(javax.el.ELResolver resolver) Description copied from interface:JspApplicationContext
Adds anELResolver
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 anELResolver
after that time, anIllegalStateException
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 addELResolver
s before or after initialization to aCompositeELResolver
that is already in the chain.It is not possible to remove an
ELResolver
registered with this method, once it has been registered.- Specified by:
addELResolver
in interfaceJspApplicationContext
- Parameters:
resolver
- The newELResolver
-
getExpressionFactory
public javax.el.ExpressionFactory getExpressionFactory()Description copied from interface:JspApplicationContext
Returns a factory used to createValueExpression
s andMethodExpression
s so that EL expressions can be parsed and evaluated.- Specified by:
getExpressionFactory
in interfaceJspApplicationContext
- Returns:
- A concrete implementation of the an
ExpressionFactory
.
-
setExpressionFactory
public void setExpressionFactory(javax.el.ExpressionFactory expressionFactory) -
addELContextListener
public void addELContextListener(javax.el.ELContextListener listener) Description copied from interface:JspApplicationContext
Registers aELContextListener
s so that context objects can be added whenever a newELContext
is created.At a minimum, the
ELContext
objects created will contain a reference to theJspContext
for this request, which is added by the JSP container. This is sufficient for all the defaultELResolver
s listed inJspApplicationContext.addELResolver(javax.el.ELResolver)
. Note thatJspContext.class
is used as the key to ELContext.putContext() for theJspContext
object reference.This method is generally used by frameworks and applications that register their own
ELResolver
that needs context other thanJspContext
. The listener will typically add the necessary context to theELContext
provided in the event object. Registering a listener that adds context allows theELResolver
s in the stack to access the context they need when they do a resolution.- Specified by:
addELContextListener
in interfaceJspApplicationContext
- Parameters:
listener
- The listener to be notified when a newELContext
is created.
-
createELContext
protected javax.el.ELContext createELContext(javax.el.ELResolver resolver) -
findJspApplicationContext
protected static JspApplicationContextImpl findJspApplicationContext(javax.servlet.ServletContext context) -
removeJspApplicationContext
public static void removeJspApplicationContext(javax.servlet.ServletContext context) -
getELResolvers
-