Class ViewResolverRegistry

java.lang.Object
org.springframework.web.servlet.config.annotation.ViewResolverRegistry

public class ViewResolverRegistry extends Object
Assist with the configuration of a chain of ViewResolver instances. This class is expected to be used via WebMvcConfigurer.configureViewResolvers(org.springframework.web.servlet.config.annotation.ViewResolverRegistry).
Since:
4.1
Author:
Sebastien Deleuze, Rossen Stoyanchev
  • Constructor Details

  • Method Details

    • hasRegistrations

      public boolean hasRegistrations()
      Whether any view resolvers have been registered.
    • enableContentNegotiation

      public void enableContentNegotiation(View... defaultViews)
      Enable use of a ContentNegotiatingViewResolver to front all other configured view resolvers and select among all selected Views based on media types requested by the client (e.g. in the Accept header).

      If invoked multiple times the provided default views will be added to any other default views that may have been configured already.

      See Also:
    • enableContentNegotiation

      public void enableContentNegotiation(boolean useNotAcceptableStatus, View... defaultViews)
      Enable use of a ContentNegotiatingViewResolver to front all other configured view resolvers and select among all selected Views based on media types requested by the client (e.g. in the Accept header).

      If invoked multiple times the provided default views will be added to any other default views that may have been configured already.

      See Also:
    • jsp

      Register JSP view resolver using a default view name prefix of "/WEB-INF/" and a default suffix of ".jsp".

      When this method is invoked more than once, each call will register a new ViewResolver instance. Note that since it's not easy to determine if a JSP exists without forwarding to it, using multiple JSP-based view resolvers only makes sense in combination with the "viewNames" property on the resolver indicating which view names are handled by which resolver.

    • jsp

      public UrlBasedViewResolverRegistration jsp(String prefix, String suffix)
      Register JSP view resolver with the specified prefix and suffix.

      When this method is invoked more than once, each call will register a new ViewResolver instance. Note that since it's not easy to determine if a JSP exists without forwarding to it, using multiple JSP-based view resolvers only makes sense in combination with the "viewNames" property on the resolver indicating which view names are handled by which resolver.

    • freeMarker

      public UrlBasedViewResolverRegistration freeMarker()
      Register a FreeMarker view resolver with an empty default view name prefix and a default suffix of ".ftl".

      Note that you must also configure FreeMarker by adding a FreeMarkerConfigurer bean.

    • groovy

      Register a Groovy markup view resolver with an empty default view name prefix and a default suffix of ".tpl".
    • scriptTemplate

      public UrlBasedViewResolverRegistration scriptTemplate()
      Register a script template view resolver with an empty default view name prefix and suffix.
      Since:
      4.2
    • beanName

      public void beanName()
      Register a bean name view resolver that interprets view names as the names of View beans.
    • viewResolver

      public void viewResolver(ViewResolver viewResolver)
      Register a ViewResolver bean instance. This may be useful to configure a custom (or 3rd party) resolver implementation. It may also be used as an alternative to other registration methods in this class when they don't expose some more advanced property that needs to be set.
    • order

      public void order(int order)
      ViewResolver's registered through this registry are encapsulated in an instance of ViewResolverComposite and follow the order of registration. This property determines the order of the ViewResolverComposite itself relative to any additional ViewResolver's (not registered here) present in the Spring configuration

      By default this property is not set, which means the resolver is ordered at Ordered.LOWEST_PRECEDENCE unless content negotiation is enabled in which case the order (if not set explicitly) is changed to Ordered.HIGHEST_PRECEDENCE.

    • getOrder

      protected int getOrder()
    • getViewResolvers

      protected List<ViewResolver> getViewResolvers()