Class AbstractTemplateViewResolver

All Implemented Interfaces:
Aware, ApplicationContextAware, Ordered, ServletContextAware, ViewResolver
Direct Known Subclasses:
FreeMarkerViewResolver, GroovyMarkupViewResolver

public abstract class AbstractTemplateViewResolver extends UrlBasedViewResolver
Abstract base class for template view resolvers, in particular for FreeMarker views.

Provides a convenient way to specify AbstractTemplateView's exposure flags for request attributes, session attributes, and Spring's macro helpers.

Since:
1.1
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • AbstractTemplateViewResolver

      public AbstractTemplateViewResolver()
  • Method Details

    • requiredViewClass

      protected Class<?> requiredViewClass()
      Description copied from class: UrlBasedViewResolver
      Return the required type of view for this resolver. This implementation returns AbstractUrlBasedView.
      Overrides:
      requiredViewClass in class UrlBasedViewResolver
      See Also:
    • setExposeRequestAttributes

      public void setExposeRequestAttributes(boolean exposeRequestAttributes)
      Set whether all request attributes should be added to the model prior to merging with the template. Default is "false".
      See Also:
    • setAllowRequestOverride

      public void setAllowRequestOverride(boolean allowRequestOverride)
      Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name. Default is "false", which causes an exception to be thrown if request attributes of the same name as model attributes are found.
      See Also:
    • setExposeSessionAttributes

      public void setExposeSessionAttributes(boolean exposeSessionAttributes)
      Set whether all HttpSession attributes should be added to the model prior to merging with the template. Default is "false".
      See Also:
    • setAllowSessionOverride

      public void setAllowSessionOverride(boolean allowSessionOverride)
      Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name. Default is "false", which causes an exception to be thrown if session attributes of the same name as model attributes are found.
      See Also:
    • setExposeSpringMacroHelpers

      public void setExposeSpringMacroHelpers(boolean exposeSpringMacroHelpers)
      Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext". Default is "true".
      See Also:
    • buildView

      protected AbstractUrlBasedView buildView(String viewName) throws Exception
      Description copied from class: UrlBasedViewResolver
      Creates 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 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.

      Overrides:
      buildView in 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: