Package org.springframework.web.jsf.el
Class SpringBeanFacesELResolver
- java.lang.Object
- javax.el.ELResolver
- org.springframework.web.jsf.el.SpringBeanFacesELResolver
public class SpringBeanFacesELResolver extends ELResolver
JSFELResolver
that delegates to the Spring rootWebApplicationContext
, 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 javax.el.ELResolver
RESOLVABLE_AT_DESIGN_TIME, TYPE
Constructor Summary
Constructors Constructor Description SpringBeanFacesELResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<?>
getCommonPropertyType(ELContext elContext, Object base)
Iterator<FeatureDescriptor>
getFeatureDescriptors(ELContext elContext, Object base)
Class<?>
getType(ELContext elContext, Object base, Object property)
Object
getValue(ELContext elContext, Object base, Object property)
protected WebApplicationContext
getWebApplicationContext(ELContext elContext)
Retrieve the web application context to delegate bean name resolution to.boolean
isReadOnly(ELContext elContext, Object base, Object property)
void
setValue(ELContext elContext, Object base, Object property, Object value)
Methods inherited from class javax.el.ELResolver
convertToType, invoke
Constructor Detail
SpringBeanFacesELResolver
public SpringBeanFacesELResolver()
Method Detail
getValue
@Nullable public Object getValue(ELContext elContext, @Nullable Object base, Object property) throws ELException
- Specified by:
getValue
in classELResolver
- Throws:
ELException
getType
@Nullable public Class<?> getType(ELContext elContext, @Nullable Object base, Object property) throws ELException
- Specified by:
getType
in classELResolver
- Throws:
ELException
setValue
public void setValue(ELContext elContext, @Nullable Object base, Object property, Object value) throws ELException
- Specified by:
setValue
in classELResolver
- Throws:
ELException
isReadOnly
public boolean isReadOnly(ELContext elContext, @Nullable Object base, Object property) throws ELException
- Specified by:
isReadOnly
in classELResolver
- Throws:
ELException
getFeatureDescriptors
@Nullable public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext elContext, @Nullable Object base)
- Specified by:
getFeatureDescriptors
in classELResolver
getCommonPropertyType
public Class<?> getCommonPropertyType(ELContext elContext, @Nullable Object base)
- Specified by:
getCommonPropertyType
in classELResolver
getWebApplicationContext
protected WebApplicationContext getWebApplicationContext(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)