博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC Controller的返回类型
阅读量:5068 次
发布时间:2019-06-12

本文共 2359 字,大约阅读时间需要 7 分钟。

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} 
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
resultMap = regService.saveRegSigned(meetingReg); model.addAttribute("resultMap", resultMap); return "modules/meeting/signed/RegSignedReturnPage"; }

JSP

  • 注册号:${resultMap.regCode}
  • 注册类型:${resultMap.regType}

 

3   返回void

void 

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

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

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

 

4返回map

Map

@RequestMapping("/demo2/show")     public Map
getMap() { Map
map = new HashMap
(); 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

你可能感兴趣的文章
Java Concurrency In Practice -Chapter 2 Thread Safety
查看>>
13.constexpr
查看>>
15.map映射
查看>>
flask简单应用以及配置文件的写法。
查看>>
n阶螺旋矩阵问题
查看>>
工作中碰到的一些问题以及解决方法
查看>>
C#-WinForm-对话框控件
查看>>
支持多个版本的ASP.NET Core Web API
查看>>
D - Xenia and Bit Operations
查看>>
tar用法
查看>>
Spring框架初识(二)
查看>>
redis设置密码
查看>>
【数据仓库】数据仓库概述
查看>>
form表单传对象
查看>>
中科燕园GIS外包--环境保护执法移动GIS平台
查看>>
Fibonacci博弈
查看>>
JSP中的九个内置对象(17)
查看>>
ContentProvider和Uri详解
查看>>
(转)ios学习--你会遇到的runtime面试题(详)
查看>>
redhat7.0安装postgresql
查看>>