## org.springframework.web.jsf.el
Class SpringBeanFacesELResolver

    java.lang.Object
      javax.el.ELResolver
          org.springframework.beans.factory.access.el.SpringBeanELResolver
              org.springframework.web.jsf.el.SpringBeanFacesELResolver

    public class SpringBeanFacesELResolver

extends SpringBeanELResolver

JSF 1.2 `ELResolver` that delegates to the Spring root `WebApplicationContext`, resolving name references to Spring-defined beans.

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

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

All your JSF expressions can then implicitly refer to the names of Spring-managed service layer beans, for example in property values of JSF-managed beans:

     <managed-bean>
       <managed-bean-name>myJsfManagedBean</managed-bean-name>
       <managed-bean-class>example.MyJsfManagedBean</managed-bean-class>
       <managed-bean-scope>session</managed-bean-scope>
       <managed-property>
         <property-name>mySpringManagedBusinessObject</property-name>
         <value>#{mySpringManagedBusinessObject}</value>
       </managed-property>
     </managed-bean>

with "mySpringManagedBusinessObject" defined as Spring bean in applicationContext.xml:

     <bean id="mySpringManagedBusinessObject" class="example.MySpringManagedBusinessObject">
       ...
     </bean>

Since:
  2.5
Author:
  Juergen Hoeller
See Also:
  `WebApplicationContextFacesELResolver`, `FacesContextUtils.getRequiredWebApplicationContext(javax.faces.context.FacesContext)`

Field Summary

Fields inherited from class org.springframework.beans.factory.access.el.SpringBeanELResolver
`logger`

Fields inherited from class javax.el.ELResolver
`RESOLVABLE_AT_DESIGN_TIME, TYPE`

Constructor Summary
`SpringBeanFacesELResolver()`

Method Summary
`protected BeanFactory` `getBeanFactory(javax.el.ELContext elContext)` This implementation delegates to `getWebApplicationContext(javax.el.ELContext)`.
`protected WebApplicationContext` `getWebApplicationContext(javax.el.ELContext elContext)` Retrieve the web application context to delegate bean name resolution to.

Methods inherited from class org.springframework.beans.factory.access.el.SpringBeanELResolver
`getCommonPropertyType, getFeatureDescriptors, getType, getValue, isReadOnly, setValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SpringBeanFacesELResolver

    public SpringBeanFacesELResolver()

Method Detail

### getBeanFactory

    protected BeanFactory getBeanFactory(javax.el.ELContext elContext)

  This implementation delegates to `getWebApplicationContext(javax.el.ELContext)`. Can be overridden to provide an arbitrary BeanFactory reference to resolve against; usually, this will be a full Spring ApplicationContext.

  Specified by:
    `getBeanFactory` in class `SpringBeanELResolver`
  Parameters:
    `elContext` - the current JSF ELContext
  Returns:
    the Spring BeanFactory (never `null`)

### getWebApplicationContext

    protected WebApplicationContext getWebApplicationContext(javax.el.ELContext elContext)

  Retrieve the web application context to delegate bean name resolution to.

  The default implementation delegates to FacesContextUtils.

  Parameters:
    `elContext` - the current JSF ELContext
  Returns:
    the Spring web application context (never `null`)
  See Also:
    `FacesContextUtils.getRequiredWebApplicationContext(javax.faces.context.FacesContext)`