Interface View
- 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
Modifier and TypeFieldDescriptionstatic final String
The name of the exchange attribute that contains theBindingContext
for the request which can be used to createBindingResult
instances for objects in to the model. -
Method Summary
Modifier and TypeMethodDescriptionReturn the list of media types this View supports, or an empty list.default boolean
Whether this View does rendering by performing a redirect.reactor.core.publisher.Mono<Void>
render
(Map<String, ?> model, MediaType contentType, ServerWebExchange exchange) Render the view based on the givenHandlerResult
.
-
Field Details
-
BINDING_CONTEXT_ATTRIBUTE
The name of the exchange attribute that contains theBindingContext
for the request which can be used to createBindingResult
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
Return the list of media types this View supports, or an empty list. -
isRedirectView
default boolean isRedirectView()Whether this View does rendering by performing a redirect. -
render
reactor.core.publisher.Mono<Void> render(@Nullable Map<String, ?> model, @Nullable MediaType contentType, ServerWebExchange exchange) Render the view based on the givenHandlerResult
. 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 benull
in case of empty model)contentType
- the content type selected to render with which should match one of thesupported media types
.exchange
- the current exchange- Returns:
Mono
to represent when and if rendering succeeds
-