Class InternalResourceViewResolver
- All Implemented Interfaces:
- Aware,- ApplicationContextAware,- Ordered,- ServletContextAware,- ViewResolver
UrlBasedViewResolver that supports
 InternalResourceView (i.e. Servlets and JSPs) and subclasses
 such as JstlView.
 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.
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolverAbstractCachingViewResolver.CacheFilter
- 
Field SummaryFields inherited from class org.springframework.web.servlet.view.UrlBasedViewResolverFORWARD_URL_PREFIX, REDIRECT_URL_PREFIXFields inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolverDEFAULT_CACHE_LIMITFields inherited from class org.springframework.context.support.ApplicationObjectSupportloggerFields inherited from interface org.springframework.core.OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Constructor SummaryConstructorsConstructorDescriptionSets the defaultview classtorequiredViewClass(): by defaultInternalResourceView, orJstlViewif the JSTL API is present.InternalResourceViewResolver(String prefix, String suffix) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected AbstractUrlBasedViewCreates a new View instance of the specified view class and configures it.protected AbstractUrlBasedViewInstantiate the specified view class.protected Class<?>Return the required type of view for this resolver.voidsetAlwaysInclude(boolean alwaysInclude) Specify whether to always include the view rather than forward to it.Methods inherited from class org.springframework.web.servlet.view.UrlBasedViewResolverapplyLifecycleMethods, 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, setViewNamesMethods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolverclearCache, getCacheFilter, getCacheLimit, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, setCacheFilter, setCacheLimit, setCacheUnresolvedMethods inherited from class org.springframework.web.context.support.WebApplicationObjectSupportgetServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextMethods inherited from class org.springframework.context.support.ApplicationObjectSupportgetApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
- 
Constructor Details- 
InternalResourceViewResolverpublic InternalResourceViewResolver()Sets the defaultview classtorequiredViewClass(): by defaultInternalResourceView, orJstlViewif the JSTL API is present.
- 
InternalResourceViewResolver- Parameters:
- prefix- the prefix that gets prepended to view names when building a URL
- suffix- the suffix that gets appended to view names when building a URL
- Since:
- 4.3
 
 
- 
- 
Method Details- 
setAlwaysIncludepublic 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. 
- 
requiredViewClassDescription copied from class:UrlBasedViewResolverReturn the required type of view for this resolver. This implementation returnsAbstractUrlBasedView.- Overrides:
- requiredViewClassin class- UrlBasedViewResolver
- See Also:
 
- 
instantiateViewDescription copied from class:UrlBasedViewResolverInstantiate the specified view class.The default implementation uses reflection to instantiate the class. - Overrides:
- instantiateViewin class- UrlBasedViewResolver
- Returns:
- a new instance of the view class
- See Also:
 
- 
buildViewDescription 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 class- UrlBasedViewResolver
- Parameters:
- viewName- the name of the view to build
- Returns:
- the View instance
- Throws:
- Exception- if the view couldn't be resolved
- See Also:
 
 
-