|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.context.support.ApplicationObjectSupport org.springframework.web.context.support.WebApplicationObjectSupport org.springframework.web.servlet.view.AbstractCachingViewResolver org.springframework.web.servlet.view.UrlBasedViewResolver org.springframework.web.servlet.view.InternalResourceViewResolver
public class InternalResourceViewResolver
Convenient subclass of UrlBasedViewResolver
that supports
InternalResourceView
(i.e. Servlets and JSPs) and subclasses
such as JstlView
and
TilesView
.
The view class for all views generated by this resolver can be specified
via UrlBasedViewResolver.setViewClass(java.lang.Class)
. See UrlBasedViewResolver
's javadoc for details.
The default is InternalResourceView
, or JstlView
if the
JSTL API is present.
BTW, it's good practice to put JSP files that just serve as views under WEB-INF, to hide them from direct access (e.g. via a manually entered URL). Only controllers will be able to access them then.
Note: When chaining ViewResolvers, an InternalResourceViewResolver always needs to be last, as it will attempt to resolve any view name, no matter whether the underlying resource actually exists.
UrlBasedViewResolver.setViewClass(java.lang.Class)
,
UrlBasedViewResolver.setPrefix(java.lang.String)
,
UrlBasedViewResolver.setSuffix(java.lang.String)
,
UrlBasedViewResolver.setRequestContextAttribute(java.lang.String)
,
InternalResourceView
,
JstlView
,
TilesView
Field Summary |
---|
Fields inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver |
---|
FORWARD_URL_PREFIX, REDIRECT_URL_PREFIX |
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport |
---|
logger |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
InternalResourceViewResolver()
Sets the default view class to requiredViewClass() :
by default InternalResourceView , or JstlView if the JSTL API
is present. |
Method Summary | |
---|---|
protected AbstractUrlBasedView |
buildView(String viewName)
Creates a new View instance of the specified view class and configures it. |
protected Class |
requiredViewClass()
This resolver requires InternalResourceView . |
void |
setAlwaysInclude(boolean alwaysInclude)
Specify whether to always include the view rather than forward to it. |
void |
setExposeContextBeansAsAttributes(boolean exposeContextBeansAsAttributes)
Set whether to make all Spring beans in the application context accessible as request attributes, through lazy checking once an attribute gets accessed. |
void |
setExposedContextBeanNames(String[] exposedContextBeanNames)
Specify the names of beans in the context which are supposed to be exposed. |
Methods inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver |
---|
canHandle, createView, getAttributesMap, getCacheKey, getContentType, getOrder, getPrefix, getRequestContextAttribute, getSuffix, getViewClass, getViewNames, initApplicationContext, isRedirectContextRelative, isRedirectHttp10Compatible, loadView, setAttributes, setAttributesMap, setContentType, setOrder, setPrefix, setRedirectContextRelative, setRedirectHttp10Compatible, setRequestContextAttribute, setSuffix, setViewClass, setViewNames |
Methods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver |
---|
clearCache, isCache, removeFromCache, resolveViewName, setCache |
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport |
---|
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext |
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport |
---|
getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public InternalResourceViewResolver()
view class
to requiredViewClass()
:
by default InternalResourceView
, or JstlView
if the JSTL API
is present.
Method Detail |
---|
protected Class requiredViewClass()
InternalResourceView
.
requiredViewClass
in class UrlBasedViewResolver
AbstractUrlBasedView
public void setAlwaysInclude(boolean alwaysInclude)
Default is "false". Switch this flag on to enforce the use of a Servlet include, even if a forward would be possible.
InternalResourceView.setAlwaysInclude(boolean)
public void setExposeContextBeansAsAttributes(boolean exposeContextBeansAsAttributes)
This will make all such beans accessible in plain ${...}
expressions in a JSP 2.0 page, as well as in JSTL's c:out
value expressions.
Default is "false".
InternalResourceView.setExposeContextBeansAsAttributes(boolean)
public void setExposedContextBeanNames(String[] exposedContextBeanNames)
InternalResourceView.setExposedContextBeanNames(java.lang.String[])
protected AbstractUrlBasedView buildView(String viewName) throws Exception
UrlBasedViewResolver
Spring lifecycle methods as defined by the bean container do not have to
be called here; those will be applied by the loadView
method
after this method returns.
Subclasses will typically call super.buildView(viewName)
first, before setting further properties themselves. loadView
will then apply Spring lifecycle methods at the end of this process.
buildView
in class UrlBasedViewResolver
viewName
- the name of the view to build
Exception
- if the view couldn't be resolvedUrlBasedViewResolver.loadView(String, java.util.Locale)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |