Class InternalResourceViewResolver
- 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
- All Implemented Interfaces:
Aware,ApplicationContextAware,Ordered,ServletContextAware,ViewResolver
public class InternalResourceViewResolver extends UrlBasedViewResolver
Convenient subclass ofUrlBasedViewResolverthat supportsInternalResourceView(i.e. Servlets and JSPs) and subclasses such asJstlView.The view class for all views generated by this resolver can be specified via
UrlBasedViewResolver.setViewClass(java.lang.Class<?>). SeeUrlBasedViewResolver's javadoc for details. The default isInternalResourceView, orJstlViewif 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.
Field Summary
Fields inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver
FORWARD_URL_PREFIX, REDIRECT_URL_PREFIX
Fields inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver
DEFAULT_CACHE_LIMIT
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description InternalResourceViewResolver()Sets the defaultview classtorequiredViewClass(): by defaultInternalResourceView, orJstlViewif the JSTL API is present.InternalResourceViewResolver(String prefix, String suffix)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractUrlBasedViewbuildView(String viewName)Creates a new View instance of the specified view class and configures it.protected Class<?>requiredViewClass()This resolver requiresInternalResourceView.voidsetAlwaysInclude(boolean alwaysInclude)Specify whether to always include the view rather than forward to it.Methods inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver
canHandle, createView, getAttributesMap, getCacheKey, getContentType, getExposeContextBeansAsAttributes, getExposedContextBeanNames, getExposePathVariables, getOrder, getPrefix, getRedirectHosts, getRequestContextAttribute, getSuffix, getViewClass, getViewNames, initApplicationContext, isRedirectContextRelative, isRedirectHttp10Compatible, loadView, setAttributes, setAttributesMap, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setOrder, setPrefix, setRedirectContextRelative, setRedirectHosts, setRedirectHttp10Compatible, setRequestContextAttribute, setSuffix, setViewClass, setViewNames
Methods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver
clearCache, getCacheLimit, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, setCacheLimit, setCacheUnresolved
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
Constructor Detail
InternalResourceViewResolver
public InternalResourceViewResolver()
Sets the defaultview classtorequiredViewClass(): by defaultInternalResourceView, orJstlViewif the JSTL API is present.
InternalResourceViewResolver
public InternalResourceViewResolver(String prefix, String suffix)
- Parameters:
prefix- the prefix that gets prepended to view names when building a URLsuffix- the suffix that gets appended to view names when building a URL- Since:
- 4.3
Method Detail
requiredViewClass
protected Class<?> requiredViewClass()
This resolver requiresInternalResourceView.- Overrides:
requiredViewClassin classUrlBasedViewResolver- See Also:
AbstractUrlBasedView
setAlwaysInclude
public void setAlwaysInclude(boolean alwaysInclude)
Specify whether to always include the view rather than forward to it.Default is "false". Switch this flag on to enforce the use of a Servlet include, even if a forward would be possible.
buildView
protected AbstractUrlBasedView buildView(String viewName) throws Exception
Description copied from class:UrlBasedViewResolverCreates a new View instance of the specified view class and configures it. Does not perform any lookup for pre-defined View instances.Spring lifecycle methods as defined by the bean container do not have to be called here; those will be applied by the
loadViewmethod after this method returns.Subclasses will typically call
super.buildView(viewName)first, before setting further properties themselves.loadViewwill then apply Spring lifecycle methods at the end of this process.- Overrides:
buildViewin classUrlBasedViewResolver- Parameters:
viewName- the name of the view to build- Returns:
- the View instance
- Throws:
Exception- if the view couldn't be resolved- See Also:
UrlBasedViewResolver.loadView(String, java.util.Locale)