public interface View
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.
| Modifier and Type | Field and Description |
|---|---|
static 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. |
| Modifier and Type | Method and Description |
|---|---|
default List<MediaType> |
getSupportedMediaTypes()
Return the list of media types this View supports, or an empty list.
|
default boolean |
isRedirectView()
Whether this View does render by performing a redirect.
|
reactor.core.publisher.Mono<Void> |
render(Map<String,?> model,
MediaType contentType,
ServerWebExchange exchange)
Render the view based on the given
HandlerResult. |
static final String BINDING_CONTEXT_ATTRIBUTE
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.
default List<MediaType> getSupportedMediaTypes()
default boolean isRedirectView()
reactor.core.publisher.Mono<Void> render(@Nullable Map<String,?> model, @Nullable MediaType contentType, ServerWebExchange exchange)
HandlerResult. Implementations
can access and use the model or only a specific attribute in it.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 exchangeMono to represent when and if rendering succeeds