Controller方法的返回值可以有以下几种:

1、返回ModelAndView

返回ModelAndView时最常见的一种返回结果。需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置。

2、返回String

1):字符串代表逻辑视图名

真实的访问路径=“前缀”+逻辑视图名+“后缀”

注意:如果返回的String代表逻辑视图名的话,那么Model的返回方式如下:

public String testController(Model model){
model.addAttribute(attrName,attrValue);//相当于ModelAndView的addObject方法
return "逻辑视图名";
   }

2):代表redirect重定向

redirect的特点和servlet一样,使用redirect进行重定向那么地址栏中的URL会发生变化,同时不会携带上一次的request

案例:

public String testController(Model model){
return "redirect:path";//path代表重定向的地址
}

3):代表forward转发

通过forward进行转发,地址栏中的URL不会发生改变,同时会将上一次的request携带到写一次请求中去

案例:
public String testController(Model model){
return "forward:path";//path代表转发的地址
}

3、返回void

返回这种结果的时候可以在Controller方法的形参中定义HTTPServletRequest和HTTPServletResponse对象进行请求的接收和响应

1)使用request转发页面
  request.getRequestDispatcher("转发路径").forward(request,response);

2)使用response进行页面重定向
  response.sendRedirect("重定向路径");

3)也可以使用response指定响应结果
  response.setCharacterEncoding("UTF-8");
  response.setContentType("application/json;charset=utf-8");
  response.getWriter.write("json串");

以上三种返回值没有什么重要和不重要的分别,一般来说都会使用到, 只不过有的时候使用的方式会有一些细微的差别

转载于:https://www.cnblogs.com/stujike/p/9020900.html

Spring MVC 中的 controller层的方法的返回值类型相关推荐

  1. java gettext返回值_012-关于EditText中的getText()方法的返回值类型以及string的转换问题(转)...

    EditText中的getText()方法的返回值为CharSequence,如果我们想要获得string类型数据的话,需要在后边加上.toString 另外,String类型转为int:Intege ...

  2. java如何测controller层_用MockMvc对Spring mvc中的controller层进行单元测试

    参考:http://sishuok.com/forum/posts/list/7981.html  ;  http://www.tuicool.com/articles/6nqeIbm 用下面的这种方 ...

  3. SpringMVC——控制器方法的返回值类型(ModelAndView、String、void、Object)

    文章目录: 1.控制器controller方法的返回值 1.1 返回值类型:ModelAndView 1.2 返回值类型:String(这里的String是视图) 1.2.1 控制器类 1.2.2 s ...

  4. 函数式接口作为方法的返回值类型案例

    类似地,如果一个方法的返回值类型是一个函数式接口,那么就可以直接返回一个Lambda表达式.当需要通过一 个方法来获取一个java.util.Comparator 接口类型的对象作为排序器时,就可以调 ...

  5. SpringMVC——处理器方法的返回值类型

    目录 1. 控制器controller方法的返回值 1.1 返回值类型:ModelAndView 1.2 返回值类型:String 1.3返回值类型:void 1.4 返回值类型:Object(可以是 ...

  6. Spring MVC 中的 Controller 是多例还是单列

    前言 单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面.面试经常会问到的一个问题是:SpringMVC中的Controller是单例还是多例 ...

  7. 方法的返回值类型是object_JavaScript中如何判断类型

    1. typeof typeof (整数/小数/自然对数Math.LN2/正无穷大数Infinity) ===> numbertypeof NaN ===> number typeof ( ...

  8. 注意扩展方法的返回值类型

    public static IEnumerable<TSource> Where : IEnumerable<TSource>  类型 转载于:https://www.cnbl ...

  9. 测试: 如果一个方法的返回值类型是父类,那么能否返回一个子类对象.(该父类不管是类,抽象类还是接口)?

    package cn.zxj.com;public class Fu {public Fu() {System.out.println("我是父类");} } package cn ...

最新文章

  1. Pycharm断点失效(不起作用),原来是matplotlib.pyplot.show()函数的原因
  2. font awesome java_Android使用Font Awesome显示小图标(一)
  3. SSM+Maven整合时在Eclipse中使用Mybatis逆向工程自动生成代码
  4. 一场由过滤器Filter引发的血案
  5. SAP WebClient UI界面元素ID生成的逻辑分析
  6. Spring源码分析-如何获取Bean对象
  7. matlab中如何做连乘循环,如何利用for循环实现矩阵连乘
  8. 常用Flex IOC框架比较分析【转载】
  9. OpenJ_Bailian 2814 拨钟问题
  10. bzoj 1093 [ ZJOI 2007 ] 最大半连通子图 —— 拓扑+DP
  11. 基于强化学习的倒立摆控制策略Matlab实现(附代码)
  12. [深入Python]Alex Martelli的Borg类
  13. L1、L2正则化区别和数学原理,以及什么是Elastic Net(弹性网络)正则项
  14. lintcode刷题目录
  15. Java 项目中使用 TongLink/Q 实现消息队列传输
  16. 计算机画图卡通,windows画图工具怎么画卡通头像?
  17. python:类基础
  18. 亚利桑那州立大学计算机专业,亚利桑那州立大学计算机专业排名
  19. 目标检测00-10:mmdetection(Foveabox为例)-源码无死角解析(3)-头部网络bbox_head-训练过程
  20. win10输入法突然变繁体解决办法

热门文章

  1. typescript赋值
  2. 向一个对象数组里面添加新的属性 + 将一个对象数组数据拿出来变成另一个对象
  3. ES6公用跑马灯抽奖组件的封装及使用
  4. C#程序开发中经常遇到的10条实用的代码
  5. CF815D Karen and Cards
  6. git的常用操作(个人整理使用)
  7. Redis的主从搭建
  8. 《JavaScript面向对象精要》——1.9 总结
  9. 笔记(用Python做些事情)--变量(数字、字符串)
  10. WPF 类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义。