一、返回ModelAndView

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


public ModelAndView queryItemList() {// 创建页面需要显示的商品数据List<Item> list = new ArrayList<>();list.add(new Item(1, 2399, new Date());// 创建ModelAndView,用来存放数据和视图ModelAndView modelAndView = new ModelAndView();// 设置数据到模型中modelAndView.addObject("itemList", list);// 设置视图jsp,需要设置视图的物理地址// modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");// 配置好视图解析器前缀和后缀,这里只需要设置逻辑视图就可以了。// 视图解析器根据前缀+逻辑视图名+后缀拼接出来物理路径modelAndView.setViewName("itemList");return modelAndView;
}

二、返回void

在controller方法形参上可以定义request和response,使用request或者response

指定响应结果:

1.使用request转发页面

request.getRequestDispatcher("页面路径").forward(request,response);

页面路径举例:"/WEB-INF/jsp/success.jsp"

2.使用response页面重定向

response.senRedirect("转发路径")

3.通过response指定响应结果,比如响应json数据

response,getWriter().print("{\"a\":1}");

三、返回字符串

1.返回逻辑视图名

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

return "itemList";

实际返回经过解析后的:/WEB-INF/jsp/itemList.jsp

2.Redirect重定向

Controller方法返回字符串可以重定向到一个url地址

@RequestMapping("updateItem")
public String updateItemById(Item item) {// 更新商品this.itemService.updateItemById(item);// 修改商品成功后,重定向到商品编辑页面// 重定向后浏览器地址栏变更为重定向的地址,// 重定向相当于执行了新的request和response,所以之前的请求参数都会丢失// 如果要指定请求参数,需要在重定向的url后面添加 ?itemId=1 这样的请求参数return "redirect:/itemEdit.action?itemId=" + item.getId();
}

3.forword转发

Controller方法执行后继续执行另一个Conreoller方法。

@RequestMapping("updateItem")
public String updateItemById(Item item) {// 更新商品this.itemService.updateItemById(item);// 修改商品成功后,继续执行另一个方法// 使用转发的方式实现。转发后浏览器地址栏还是原来的请求地址,// 转发并没有执行新的request和response,所以之前的请求参数都存在return "forward:/itemEdit.action";}

结果转发到editItem.action,request可以带过去

SpringMVC的Controller方法返回值相关推荐

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

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

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

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

  3. springmvc中Controller方法的返回值

    1.1 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 1.2 返回void 在controller方法形参 ...

  4. Java框架-SpringMVC的应用(json数据交互、控制器方法返回值、文件上传)

    1. 搭建SpringMVC开发环境 1.1 创建项目,添加依赖 <?xml version="1.0" encoding="UTF-8"?> &l ...

  5. .net mvc actionresult 返回字符串_072-SpringMVC后端控制器接收参数、处理器方法返回值类型、拦截器、文件上传下载...

    1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? 在springmvc中配置 (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...

  6. 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )

    文章目录 一.使用 for 循环遍历集合 二.使用 each 方法遍历集合 三.集合的 each 方法返回值分析 四.完整代码示例 一.使用 for 循环遍历集合 使用 for 循环 , 遍历集合 , ...

  7. 父类作为方法的形参以及父类作为方法返回值

    1.父类作为方法的形参 语句:修饰符 父类类型 方法名(){} 2.父类作为方法返回值 语句:修饰符 void/返回值类型 方法名(父类类型 形参名){} 代码例子: 动物类: /*** @autho ...

  8. C# 方法返回值的个数

    方法返回值类型总的来说分为值类型,引用类型,Void 有些方法显示的标出返回值 public int Add(int a,int b) {return a+b; } 有些方法隐式的返回返回值,我们可以 ...

  9. IXMLDOMDocument中的load方法返回值有BUG

    IXMLDOMDocument中的load方法返回值是否有BUG IXMLDOMDocument中load一个xml文件时,返回值和msdn上说的不符 MSDN上说的是: Return Values ...

最新文章

  1. oracle ora 14047,ORA-14047: ALTER TABLE|INDEX RENAME 不可以与其它分区组合
  2. project项目管理案例_福清公司开展Project项目管理软件学习培训活动
  3. ORACLE中的MERGE语法使用记录
  4. 用jQuery插件jVectorMap制作中国省份区域图
  5. 20191124每日一句
  6. Atitit aes 加密法php实现
  7. biopython1_序列操作
  8. MATLAB中的Hough变换
  9. 谨慎redis的timeout参数
  10. ida android so 断点,IDA Pro 7.0+调试Android so飘云整理(基于Android5.1.1)
  11. 算法学习系列(贪心算法)—机器人攀登问题
  12. SIM卡、USIM卡、UICC卡、eSIM卡的区别
  13. tplink怎么进去_如何进入tp-link路由器设置页面
  14. hp linux 禁用u盘启动,BIOS关闭Secure Boot(安全启动)方法大全(联想,华硕,DELL,HP等品牌)...
  15. Java 环境变量的配置的详细教程(Windows 10)
  16. 多台电脑共享上网的方法:在Windows XP中设置Internet连接共享
  17. 百度网盟怎样投放来辅助百度竞价推广
  18. CNN-卷积神经网络
  19. 【毕业设计】基于stm32的便携式U盘设计与实现 - stm32制作U盘
  20. 魅族 魅蓝note2 PRO5 华为荣耀6 6P 部分log不显示,不打印,不输出

热门文章

  1. 文件操作工具类FileUtil
  2. SpringBoot的全局异常处理的优雅吃法!要进来学习下吗
  3. 索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化
  4. vs2015 QT5.6 兼容xp系统
  5. 关于SVN Server自助修改密码详细教程
  6. 安装百分之80卡住_新车买回来要不要安装发动机护板呢?装好还是不好?
  7. python爬取学籍_python 爬取现充Shell的成绩单
  8. android背景图拉伸,Android使背景图像不拉伸它指定的视图_android_开发99编程知识库...
  9. u盘重置后计算机不显示了,u盘不显示盘符怎么办
  10. java对灰度值进行线性变换,灰度变换