|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.faces.el.VariableResolver org.springframework.web.jsf.WebApplicationContextVariableResolver
public class WebApplicationContextVariableResolver
Special VariableResolver
that exposes the Spring
WebApplicationContext
instance under a variable named
"webApplicationContext".
In contrast to DelegatingVariableResolver, this VariableResolver does not resolve JSF variable names as Spring bean names. It rather exposes Spring's root WebApplicationContext itself under a special name. JSF-managed beans can then use Spring's WebApplicationContext API to retrieve Spring-managed beans, access resources, etc.
Configure this resolver in your faces-config.xml
file as follows:
<application> ... <variable-resolver>org.springframework.web.jsf.WebApplicationContextVariableResolver</variable-resolver> </application>
DelegatingVariableResolver
,
FacesContextUtils.getWebApplicationContext(javax.faces.context.FacesContext)
Field Summary | |
---|---|
protected javax.faces.el.VariableResolver |
originalVariableResolver
|
static String |
WEB_APPLICATION_CONTEXT_VARIABLE_NAME
Name of the exposed WebApplicationContext variable: "webApplicationContext". |
Constructor Summary | |
---|---|
WebApplicationContextVariableResolver(javax.faces.el.VariableResolver originalVariableResolver)
Create a new WebApplicationContextVariableResolver, using the given original VariableResolver. |
Method Summary | |
---|---|
protected javax.faces.el.VariableResolver |
getOriginalVariableResolver()
Return the original JSF VariableResolver that this resolver delegates to. |
protected WebApplicationContext |
getWebApplicationContext(javax.faces.context.FacesContext facesContext)
Retrieve the WebApplicationContext reference to expose. |
Object |
resolveVariable(javax.faces.context.FacesContext context,
String name)
Check for the special "webApplicationContext" variable first, then delegate to the original VariableResolver. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String WEB_APPLICATION_CONTEXT_VARIABLE_NAME
protected final javax.faces.el.VariableResolver originalVariableResolver
Constructor Detail |
---|
public WebApplicationContextVariableResolver(javax.faces.el.VariableResolver originalVariableResolver)
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 VariableResolverMethod Detail |
---|
protected final javax.faces.el.VariableResolver getOriginalVariableResolver()
public Object resolveVariable(javax.faces.context.FacesContext context, String name) throws javax.faces.el.EvaluationException
If no WebApplicationContext is available, all requests will be delegated to the original VariableResolver.
resolveVariable
in class javax.faces.el.VariableResolver
javax.faces.el.EvaluationException
protected WebApplicationContext getWebApplicationContext(javax.faces.context.FacesContext facesContext)
Default implementation delegates to FacesContextUtils,
returning null
if no WebApplicationContext found.
facesContext
- the current JSF context
FacesContextUtils.getWebApplicationContext(javax.faces.context.FacesContext)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |