|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.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 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 |
---|
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)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |