java.lang.Object | ||
↳ | VariableResolver | |
↳ | org.springframework.web.jsf.DelegatingVariableResolver |
Known Direct Subclasses |
JSF 1.1 VariableResolver
that first delegates to the
original resolver of the underlying JSF implementation (for resolving
managed-bean objects as defined in faces-config.xml
as well as well-known implicit EL attributes), then to the Spring
root WebApplicationContext
(for resolving Spring beans).
Configure this resolver in your faces-config.xml
file as follows:
<application> ... <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-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>
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
logger | Logger available to subclasses | ||||||||||
originalVariableResolver |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a new DelegatingVariableResolver, using the given original VariableResolver.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Delegate to the original VariableResolver first, then try to
resolve the variable as Spring bean in the root WebApplicationContext.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Retrieve the Spring BeanFactory to delegate bean name resolution to.
| |||||||||||
Return the original JSF VariableResolver that this resolver delegates to.
| |||||||||||
Retrieve the web application context to delegate bean name resolution to.
| |||||||||||
Resolve the attribute via the original JSF VariableResolver.
| |||||||||||
Resolve the attribute as a Spring bean in the ApplicationContext.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Logger available to subclasses
Create a new DelegatingVariableResolver, using the given original VariableResolver.
A JSF implementation will automatically pass its original resolver into the constructor of a configured resolver, provided that there is a corresponding constructor argument.
originalVariableResolver | the original VariableResolver |
---|
Delegate to the original VariableResolver first, then try to resolve the variable as Spring bean in the root WebApplicationContext.
EvaluationException |
---|
Retrieve the Spring BeanFactory to delegate bean name resolution to.
The default implementation delegates to getWebApplicationContext
.
Can be overridden to provide an arbitrary BeanFactory reference to resolve
against; usually, this will be a full Spring ApplicationContext.
facesContext | the current JSF context |
---|
null
)Return the original JSF VariableResolver that this resolver delegates to. Used to resolve standard JSF-managed beans.
Retrieve the web application context to delegate bean name resolution to.
The default implementation delegates to FacesContextUtils.
facesContext | the current JSF context |
---|
null
)Resolve the attribute via the original JSF VariableResolver.
Resolve the attribute as a Spring bean in the ApplicationContext.