|
||||||||||
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 JSF 1.1 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)
The default implementation delegates to FacesContextUtils,
returning null
if no WebApplicationContext found.
facesContext
- the current JSF context
FacesContextUtils.getWebApplicationContext(javax.faces.context.FacesContext)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |