org.springframework.web.jsf.el
Class WebApplicationContextFacesELResolver

java.lang.Object
  extended by ELResolver
      extended by org.springframework.web.jsf.el.WebApplicationContextFacesELResolver

public class WebApplicationContextFacesELResolver
extends ELResolver

Special JSF 1.2 ELResolver that exposes the Spring WebApplicationContext instance under a variable named "webApplicationContext".

In contrast to SpringBeanFacesELResolver, this ELResolver variant does not resolve JSF variable names as Spring bean names. It rather exposes Spring's root WebApplicationContext itself under a special name, and is able to resolve "webApplicationContext.mySpringManagedBusinessObject" dereferences to Spring-defined beans in that application context.

Configure this resolver in your faces-config.xml file as follows:

 <application>
   ...
   <el-resolver>org.springframework.web.jsf.el.WebApplicationContextFacesELResolver</el-resolver>
 </application>

Since:
2.5
Author:
Juergen Hoeller
See Also:
SpringBeanFacesELResolver, FacesContextUtils.getWebApplicationContext(FacesContext)

Field Summary
protected  Log logger
          Logger available to subclasses
static java.lang.String WEB_APPLICATION_CONTEXT_VARIABLE_NAME
          Name of the exposed WebApplicationContext variable: "webApplicationContext".
 
Constructor Summary
WebApplicationContextFacesELResolver()
           
 
Method Summary
 java.lang.Class<?> getCommonPropertyType(ELContext elContext, java.lang.Object base)
           
 java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext elContext, java.lang.Object base)
           
 java.lang.Class<?> getType(ELContext elContext, java.lang.Object base, java.lang.Object property)
           
 java.lang.Object getValue(ELContext elContext, java.lang.Object base, java.lang.Object property)
           
protected  WebApplicationContext getWebApplicationContext(ELContext elContext)
          Retrieve the WebApplicationContext reference to expose.
 boolean isReadOnly(ELContext elContext, java.lang.Object base, java.lang.Object property)
           
 void setValue(ELContext elContext, java.lang.Object base, java.lang.Object property, java.lang.Object value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WEB_APPLICATION_CONTEXT_VARIABLE_NAME

public static final java.lang.String WEB_APPLICATION_CONTEXT_VARIABLE_NAME
Name of the exposed WebApplicationContext variable: "webApplicationContext".

See Also:
Constant Field Values

logger

protected final Log logger
Logger available to subclasses

Constructor Detail

WebApplicationContextFacesELResolver

public WebApplicationContextFacesELResolver()
Method Detail

getValue

public java.lang.Object getValue(ELContext elContext,
                                 java.lang.Object base,
                                 java.lang.Object property)
                          throws ELException
Throws:
ELException

getType

public java.lang.Class<?> getType(ELContext elContext,
                                  java.lang.Object base,
                                  java.lang.Object property)
                           throws ELException
Throws:
ELException

setValue

public void setValue(ELContext elContext,
                     java.lang.Object base,
                     java.lang.Object property,
                     java.lang.Object value)
              throws ELException
Throws:
ELException

isReadOnly

public boolean isReadOnly(ELContext elContext,
                          java.lang.Object base,
                          java.lang.Object property)
                   throws ELException
Throws:
ELException

getFeatureDescriptors

public java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext elContext,
                                                                              java.lang.Object base)

getCommonPropertyType

public java.lang.Class<?> getCommonPropertyType(ELContext elContext,
                                                java.lang.Object base)

getWebApplicationContext

protected WebApplicationContext getWebApplicationContext(ELContext elContext)
Retrieve the WebApplicationContext reference to expose.

The default implementation delegates to FacesContextUtils, returning null if no WebApplicationContext found.

Parameters:
elContext - the current JSF ELContext
Returns:
the Spring web application context
See Also:
FacesContextUtils.getWebApplicationContext(FacesContext)