use of cn.taketoday.web.view.RedirectModelManager in project today-framework by TAKETODAY.
the class ModelParameterResolver method resolveParameter.
/**
* Resolve {@link Model} parameter.
*/
@Override
public Object resolveParameter(RequestContext context, ResolvableMethodParameter resolvable) throws Throwable {
if (resolvable.isAssignableTo(RedirectModel.class)) {
// RedirectModel
RedirectModel redirectModel = new RedirectModel();
RedirectModelManager modelManager = getModelManager();
// @since 3.0.3 checking model manager
if (modelManager != null) {
context.setAttribute(RedirectModel.OUTPUT_ATTRIBUTE, redirectModel);
modelManager.saveRedirectModel(context, redirectModel);
}
return redirectModel;
}
if (resolvable.isAssignableTo(ModelAndView.class)) {
return context.modelAndView();
}
// @since 3.0
if (resolvable.is(HttpHeaders.class)) {
return context.requestHeaders();
}
if (resolvable.is(Map.class)) {
// Model Map
return context.asMap();
}
return context;
}
Aggregations