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串");

SpringMVC Controller的返回类型的更多相关文章

  1. asp.net mvc Controller控制器返回类型

    ASP.NET MVC包括了执行常见任务的ActionResult类型.这些类型罗列在表5-1中.每个类型都将在随后的小节中详细讨论. 表5-1  动作结果的类型及其说明 动作结果的类型 说    明 ...

  2. JAVA 框架 springmvc controller的返回值

    一.返回值:ModleView对象. 使用modelAndView.setViewName设置返回的页面.使用modelAndView.addObject设置返回的数据. @RequestMappin ...

  3. springmvc controller方法返回值

  4. springMVC中controller的几种返回类型

    ==网文1,还不错,感觉比较老旧springMVC中controller的几种返回类型 - CSDN博客http://blog.csdn.net/qq_16071145/article/details ...

  5. SpringMVC Controller 返回值几种类型

    SpringMVC Controller 返回值几种类型 2016年06月21日 19:31:14 为who而生 阅读数:4189 标签: Controller 返回值类型spring mvc 更多 ...

  6. Springmvc入门基础(五) ---controller层注解及返回类型解说

    0.@Controller注解 作用:通过@Controller注解,注明该类为controller类,即控制器类,需要被spring扫描,然后注入到IOC容器中,作为Spring的Bean来管理,这 ...

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

    一.参数的传递 1.简单的参数传递 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{ * value:传入的参数名,required:是否必填,defaultValue:默认 ...

  8. SpringMVC——-Controller返回格式化数据如JSON、XML的配置方式和机制

    1.本文内容 我们在Web项目开发过程中,一般来说访问一个处理器,然后会返回一个视图,或者跳转到另外的处理器.但是随着项目越来越复杂,需求越来越复杂,对于处理器返回数据的类型要求也越来越多.比如要求能 ...

  9. SpringMVC学习笔记三:Controller的返回值

    springMVC的返回值有ModelAndView,String,void,Object类型 项目目录树: 该项目是在前面项目的基础上修改的,这里的pom.xml文件需要加入使用到的包,应为@Res ...

随机推荐

  1. Linux的远程桌面配置

    一.Ubuntu的远程桌面 Ubuntu默认已安装好VNC服务端组件vino-server,只需要在“系统设置->首选项->桌面共享”中设置即可. 1.设置桌面共享首选项 2.设置好之后, ...

  2. Hdu 4465 Candy (快速排列组合+概率)

    题目链接: Hdu 4465 Candy 题目描述: 有两个箱子,每个箱子有n颗糖果,抽中第一个箱子的概率为p,抽中另一个箱子的概率为1-p.每次选择一个箱子,有糖果就拿走一颗,没有就换另外一个箱子. ...

  3. 前缀+排序 HDOJ 4311 Meeting point-1

    题目传送门 题意:给一些坐标轴上的点,选一个点,使得其他点到该点曼哈顿距离和最小 分析:这题有很强的技巧性,直接计算每个点的曼哈顿距离和是不可行的.这里用到了前缀的思想,先对点按照x从左到右排序,p[ ...

  4. 光盘安装ubuntu出现busybox-initramfs不能继续安装的终极解决方法

    我用的是Intel G45的主板,可能是板子太新的原因,kernel支持有问题 从光盘(官方寄来的光盘)安装ubuntu,出现提示: BusyBox V1.1.3 (Debian 1:1.1.3-5u ...

  5. Multitenant best Practice clone pdb seed and Clone a Pluggable Database – 12c Edition

    1. 1.Tnsnames when connecting to either Container or Pluggable instance The tnsnames.ora should be c ...

  6. 187 Repeated DNA Sequences 重复的DNA序列

    所有DNA由一系列缩写为A,C,G和 T 的核苷酸组成,例如:“ACGAATTCCG”.在研究DNA时,识别DNA中的重复序列有时非常有用.编写一个函数来查找DNA分子中所有出现超多一次的10个字母长 ...

  7. ZOJ 3605Find the Marble(dp)

    ZOJ 3605 大体意思就是 找出随机选了K个交换后 石子在第i个罐子里的概率最大 也就是可能的总数最大 这样就可以写出递推方程 dp[i][j][k] += dp[i-1][e][k]; (0&l ...

  8. Windowsforms 中对话框,流、文件操作

    对话框: 1.颜色选择控件——ColorDialog //显示颜色选择器 colorDialog1.ShowDialog(); //把取到的颜色赋值给panel panel1.BackColor = ...

  9. jqueryUI插件

    <link rel="stylesheet" href="~/Content/themes/base/jquery-ui.css" /> <s ...

  10. [BZOJ2005][NOI2010]能量采集 数学

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2005 发现与$(0,0)$连线斜率相同的点会被挡住.也就是对于$(a,b)$且$gcd(a ...