All Known Implementing Classes:
AbstractUrlBasedView, AbstractView, FreeMarkerView, HttpMessageWriterView, RedirectView, ScriptTemplateView

public interface View
Contract to render HandlerResult to the HTTP response.

In contrast to an Encoder which is a singleton and encodes any object of a given type, a View is typically selected by name and resolved using a ViewResolver which may for example match it to an HTML template. Furthermore a View may render based on multiple attributes contained in the model.

A View can also choose to select an attribute from the model use any existing Encoder to render alternate media types.

Since:
5.0
Author:
Rossen Stoyanchev
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The name of the exchange attribute that contains the BindingContext for the request which can be used to create BindingResult instances for objects in to the model.
  • Method Summary

    Modifier and Type
    Method
    Description
    default List<org.springframework.http.MediaType>
    Return the list of media types this View supports, or an empty list.
    default boolean
    Whether this View does render by performing a redirect.
    reactor.core.publisher.Mono<Void>
    render(Map<String,?> model, org.springframework.http.MediaType contentType, org.springframework.web.server.ServerWebExchange exchange)
    Render the view based on the given HandlerResult.
  • Field Details

    • BINDING_CONTEXT_ATTRIBUTE

      static final String BINDING_CONTEXT_ATTRIBUTE
      The name of the exchange attribute that contains the BindingContext for the request which can be used to create BindingResult instances for objects in to the model.

      Note: This attribute is not required and may not be present.

      Since:
      5.1.8
  • Method Details

    • getSupportedMediaTypes

      default List<org.springframework.http.MediaType> getSupportedMediaTypes()
      Return the list of media types this View supports, or an empty list.
    • isRedirectView

      default boolean isRedirectView()
      Whether this View does render by performing a redirect.
    • render

      reactor.core.publisher.Mono<Void> render(@Nullable Map<String,?> model, @Nullable org.springframework.http.MediaType contentType, org.springframework.web.server.ServerWebExchange exchange)
      Render the view based on the given HandlerResult. Implementations can access and use the model or only a specific attribute in it.
      Parameters:
      model - a Map with name Strings as keys and corresponding model objects as values (Map can also be null in case of empty model)
      contentType - the content type selected to render with which should match one of the supported media types.
      exchange - the current exchange
      Returns:
      Mono to represent when and if rendering succeeds