Polishing

This commit is contained in:
Juergen Hoeller
2019-09-04 12:19:08 +02:00
parent 3bc27e8d14
commit 48934cba1b
5 changed files with 17 additions and 15 deletions

View File

@@ -81,8 +81,7 @@ import org.springframework.web.server.ServerWebExchange;
* @author Rossen Stoyanchev
* @since 5.0
*/
public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
implements HandlerResultHandler, Ordered {
public class ViewResolutionResultHandler extends HandlerResultHandlerSupport implements HandlerResultHandler, Ordered {
private static final Object NO_VALUE = new Object();
@@ -145,6 +144,7 @@ public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
return this.defaultViews;
}
@Override
public boolean supports(HandlerResult result) {
if (hasModelAnnotation(result.getReturnTypeSource())) {
@@ -162,14 +162,10 @@ public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
return (CharSequence.class.isAssignableFrom(type) || Rendering.class.isAssignableFrom(type) ||
Model.class.isAssignableFrom(type) || Map.class.isAssignableFrom(type) ||
Void.class.equals(type) || void.class.equals(type) || View.class.isAssignableFrom(type) ||
void.class == type || Void.class == type || View.class.isAssignableFrom(type) ||
!BeanUtils.isSimpleProperty(type));
}
private boolean hasModelAnnotation(MethodParameter parameter) {
return parameter.hasMethodAnnotation(ModelAttribute.class);
}
@Override
@SuppressWarnings("unchecked")
public Mono<Void> handleResult(ServerWebExchange exchange, HandlerResult result) {
@@ -251,6 +247,11 @@ public class ViewResolutionResultHandler extends HandlerResultHandlerSupport
});
}
private boolean hasModelAnnotation(MethodParameter parameter) {
return parameter.hasMethodAnnotation(ModelAttribute.class);
}
/**
* Select a default view name when a controller did not specify it.
* Use the request path the leading and trailing slash stripped.