public class SpringBeanFacesELResolver extends ELResolver
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>
WebApplicationContextFacesELResolver,
FacesContextUtils.getRequiredWebApplicationContext(javax.faces.context.FacesContext)RESOLVABLE_AT_DESIGN_TIME, TYPE| Constructor and Description |
|---|
SpringBeanFacesELResolver() |
| Modifier and Type | Method and 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) |
convertToType, invoke@Nullable public Object getValue(ELContext elContext, @Nullable Object base, Object property) throws ELException
getValue in class ELResolverELException@Nullable public Class<?> getType(ELContext elContext, @Nullable Object base, Object property) throws ELException
getType in class ELResolverELExceptionpublic void setValue(ELContext elContext, @Nullable Object base, Object property, Object value) throws ELException
setValue in class ELResolverELExceptionpublic boolean isReadOnly(ELContext elContext, @Nullable Object base, Object property) throws ELException
isReadOnly in class ELResolverELException@Nullable public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext elContext, @Nullable Object base)
getFeatureDescriptors in class ELResolverpublic Class<?> getCommonPropertyType(ELContext elContext, @Nullable Object base)
getCommonPropertyType in class ELResolverprotected WebApplicationContext getWebApplicationContext(ELContext elContext)
The default implementation delegates to FacesContextUtils.
elContext - the current JSF ELContextnull)FacesContextUtils.getRequiredWebApplicationContext(javax.faces.context.FacesContext)