Package org.springframework.web.servlet.config.annotation

# 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 Summary

Constructors
Constructor
Description
`ViewResolverRegistry(org.springframework.web.accept.ContentNegotiationManager contentNegotiationManager, org.springframework.context.ApplicationContext context)`
Class constructor with `ContentNegotiationManager` and `ApplicationContext`.

## Method Summary

Modifier and Type
Method
Description
`void`
`beanName()`
Register a bean name view resolver that interprets view names as the names of `View` beans.
`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 (for example, in the Accept header).
`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 (for example, in the Accept header).
`UrlBasedViewResolverRegistration`
`freeMarker()`
Register a FreeMarker view resolver with an empty default view name prefix and a default suffix of ".ftl".
`protected int`
`getOrder()`
`protected List<ViewResolver>`
`getViewResolvers()`
`UrlBasedViewResolverRegistration`
`groovy()`
Register a Groovy markup view resolver with an empty default view name prefix and a default suffix of ".tpl".
`boolean`
`hasRegistrations()`
Whether any view resolvers have been registered.
`UrlBasedViewResolverRegistration`
`jsp()`
Register JSP view resolver using a default view name prefix of "/WEB-INF/" and a default suffix of ".jsp".
`UrlBasedViewResolverRegistration`
`jsp(String prefix, String suffix)`
Register JSP view resolver with the specified prefix and suffix.
`void`
`order(int order)`
ViewResolver's registered through this registry are encapsulated in an instance of `ViewResolverComposite` and follow the order of registration.
`UrlBasedViewResolverRegistration`
`scriptTemplate()`
Register a script template view resolver with an empty default view name prefix and suffix.
`void`
`viewResolver(ViewResolver viewResolver)`
Register a `ViewResolver` bean instance.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ViewResolverRegistry

public ViewResolverRegistry(org.springframework.web.accept.ContentNegotiationManager contentNegotiationManager, @Nullable org.springframework.context.ApplicationContext context)
Class constructor with `ContentNegotiationManager` and `ApplicationContext`.

Since:
  4.3.12

## 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 (for example, 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:
  - `ContentNegotiatingViewResolver.setDefaultViews(java.util.List<org.springframework.web.servlet.View>)`

### 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 (for example, 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:
  - `ContentNegotiatingViewResolver.setDefaultViews(java.util.List<org.springframework.web.servlet.View>)`

### jsp

public UrlBasedViewResolverRegistration 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

public UrlBasedViewResolverRegistration 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()