zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【Luogu】P1419寻找段落(单调队列)
    【Luogu】P1411树(树形高精DP)
    【Luogu】P2886牛继电器(矩阵加速floyd)
    【Luogu】P2657windy数(数位DP)
    【Luogu】P3521ROT-Tree Rotations(线段树合并)
    24-Perl 数据库连接
    23-Perl 面向对象
    22-Perl Socket 编程
    21-Perl 发送邮件
    20-Perl 正则表达式
  • 原文地址:https://www.cnblogs.com/benx/p/3409846.html
Copyright © 2011-2022 走看看