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 rendering 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