Controller的三种返回类型中

ModelAndView类型 带数据带跳转页面

String 跳转页面不带数据

void 通常是ajax格式请求时使用

1返回ModelAndView

controller方法中定义ModelAndView对象并返回,对象中可添加model数据、指定view。

controller

@RequestMapping("/test")
public ModelAndView test(){ModelAndView mav=new ModelAndView("hello");//通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面mav.addObject("time", new Date());mav.getModel().put("name", "caoyc");return mav;
}

JSP

 time:${requestScope.time}<br/>name:${name }

2   返回字符串

controller方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。

        @RequestMapping(value = "saveRegSigned")public String saveRegSigned(MeetingReg meetingReg, HttpServletRequest request, HttpServletResponse response,Model model) throws Exception {meetingReg.setMeetingId(Utils.getMeetingId(request));Map<String, Object> resultMap = regService.saveRegSigned(meetingReg);model.addAttribute("resultMap", resultMap);return "modules/meeting/signed/RegSignedReturnPage";}

JSP

                <div class="code_reg"><ul><li>注册号:${resultMap.regCode}</li><li>注册类型:${resultMap.regType}</li></ul></div>

3   返回void

void

如果返回值为空,则响应的视图页面对应为访问地址

@RequestMapping("/index")
public void index() {return;
}

对应的逻辑视图名为"index"

4返回map

Map

@RequestMapping("/demo2/show") public Map<String, String> getMap() { Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value-1"); map.put("key2", "value-2"); return map; } 

在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。

对应的逻辑视图名为../demo2/show+suffix

返回其他object类型同map

1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。
2.使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。

参考http://www.cnblogs.com/xiepeixing/p/4243801.html

在controller方法形参上可以定义request和response,使用request或response指定响应结果:
    1、使用request转向页面,如下:
    request.getRequestDispatcher("页面路径").forward(request, response);

2、也可以通过response页面重定向:
    response.sendRedirect("url")

3、也可以通过response指定响应结果,例如响应json数据如下:
    response.setCharacterEncoding("utf-8");
    response.setContentType("application/json;charset=utf-8");
    response.getWriter().write("json串");

转载于:https://www.cnblogs.com/miye/p/6970436.html

SpringMVC Controller的返回类型相关推荐

  1. Spring MVC Controller中返回json数据中文乱码处理

    问题 在使用spring MVC Controller的过程中,发现返回到客户端的的中文出现乱码.后台Java代码: @RequestMapping(value = "/upload&quo ...

  2. SpringMVC 方法三种类型返回值总结,你用过几种?

    SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类 ...

  3. SpringMVC控制类的Controller方法返回值

    SpringMVC控制类的Controller方法返回值 Controller方法返回值 返回字符串 逻辑视图名 controller方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 ...

  4. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...

  5. SpringMVC的Controller方法返回值

    一.返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可以添加model数据.指定的view. public ModelAndView queryI ...

  6. ASP .NET Controller返回类型

    返回类型 return View(model); 即返回html return Json("String"); 返回Json格式的数据 return File(new byte[] ...

  7. SpringMVC Controller介绍(转)

    SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  8. 【转】SpringMVC Controller 介绍

    转自:原文url 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  9. SpringMVC Controller中常用到的一些注解

    在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返 ...

最新文章

  1. 联想G480类似没有小键盘开关的机器
  2. steps/align_si.sh
  3. asp.net学习历程。
  4. 《博德之门 3》究竟有多「DnD」?
  5. 基于AVS2的图片容器——TPG:现状与改进之路
  6. 使用ASP.NET Core 3.x 构建 RESTful API - 3.3.3 ProblemDetails
  7. 基于图像处理的数码印花喷墨墨滴形状规范的研究(Python+OpenCV+Mysql)
  8. Red Hat Enterprise Linux Server release 7.0双系统安装
  9. prototype.js ajax.request,javascript – Prototype和Ajax.Request范围
  10. 在页面显示html文件,把选择的文件显示在页面上 #1《 HTML5:文件 API 》
  11. no cortex-m sw device found_SW大模块水箱桂林厂家图纸
  12. IT职场人生系列之十二:语言与技术I
  13. Vue.js 学习笔记 八 v-for
  14. 还不了解小程序?看这一篇文章就够了
  15. 如何免费将XPS转成PDF格式
  16. 智能车过滤阳光_阳光为这辆车加油
  17. 研华PCI1716L的C#编程
  18. fortran2010编译出错,无法找到exe文件的解决方法
  19. windows虚拟机安装Mac OS系统(操作图解)
  20. charles抓包一直返回unkown的解决方法

热门文章

  1. 采用个hook技术对writefile函数进行拦截(2)
  2. spark总结——转载
  3. 服务器用户连接数设置
  4. spring中@param和mybatis中@param使用区别
  5. 根据checkbox组的选中状态给list数组赋值
  6. Elasticsearch聚合 之 Date Histogram聚合
  7. 前端真的能做到彻底权限控制吗?
  8. 前端学习 -- HtmlCss -- 框架集
  9. WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)
  10. 解决IIS SMTP无法发信的故障