Spring MVC 返回处理类

   
返回处理类
ModelAndViewMethodReturnValueHandler
处理返回类型为ModelAndView,如果ModelAndView的view是String类型,则mavContainer.setViewName(viewName); 否则mavContainer.setView(ModelAndView.getView()); 最后mavContainer.addAllAttributes(mav.getModel());

ModelMethodProcessor
处理返回类型为Model,执行 mavContainer.addAllAttributes(((Model) returnValue).asMap());

ViewMethodReturnValueHandler
处理返回类型为View,执行 mavContainer.setView(view);

HttpEntityMethodProcessor
处理返回类型为HttpEntity或ResponseEntity,执行以流的形式写入response

CallableMethodReturnValueHandler
处理返回类型为ViewCallable,执行WebAsyncUtils.getAsyncManager(webRequest).startCallableProcessing(callable, mavContainer);

DeferredResultMethodReturnValueHandler
处理返回类型为DeferredResult,执行ViewCallableWebAsyncUtils.getAsyncManager(webRequest).startDeferredResultProcessing(deferredResult, mavContainer);

AsyncTaskMethodReturnValueHandler
处理返回类型为AsyncTaskMethod,执行WebAsyncUtils.getAsyncManager(webRequest).startCallableProcessing(webAsyncTask, mavContainer);

ModelAttributeMethodProcessor
处理类型为ModelAttribute,执行

RequestResponseBodyMethodProcessor
处理返回类型为ResponseEntity,执行以流的形式写入response

ViewNameMethodReturnValueHandler
处理返回类型为void和String   如果String,设置mavContainer.setViewName(viewName);

MapMethodProcessor
处理返回类型为Map , 执行mavContainer.addAllAttributes((Map) returnValue);

ModelAndViewResolverMethodReturnValueHandler

转载于:https://www.cnblogs.com/benx/p/3409846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值