当前位置: 首页 > news >正文

Spring MVC学习之——Controller类中方法的返回值

Controller类中方法的返回值

1.返回ModelAndView

 	@RequestMapping("/hello")public ModelAndView hello(){//封装了页面和数据ModelAndView view = new ModelAndView();//对这个请求的页面添加属性(数据)view.addObject("hello","Hello,欢迎成功进入!");//设置内容显示的页面view.setViewName("success");return view;}

2.返回字符串

2.1逻辑视图名

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

  • 返回字符串

	@GetMapping("/hello")public String hello(Model model){model.addAttribute("hello","Hello,欢迎成功进入!");return "success";}

2.2Redirect重定向

说明:

  • Contrller方法返回结果重定向到一个url地址,如下商品修改提交后重定向到商品查询方法,参数无法带到商品查询方法中。
  • redirect方式相当于“response.sendRedirect()”,转发后浏览器的地址栏变为转发后的地址,因为转发即执行了一个新的request和response。
  • 由于新发起一个request原来的参数在转发时就不能传递到下一个url,如果要传参数可以/item/queryItem后边加参数,如下:/item/queryItem?...&…..
	@GetMapping("/account/findAccount")public String findAccount3(){return "redirect:/account/findAll";}@GetMapping("/account/findAll")public String findAll(Model model){model.addAttribute("hello","Hello,欢迎成功进入!");return "success";}

2.3Forward转发

说明:

  • controller方法执行后继续执行另一个controller方法,如下商品修改提交后转向到商品查询页面,修改商品的id参数可以带到商品查询方法中。
  • forward方式相当于request.getRequestDispatcher().forward(request,response),转发后浏览器地址栏还是原来的地址。转发并没有执行新的request和response,而是和转发前的请求共用一个request和response。所以转发前请求的参数在转发后仍然可以读取到。
@Controller
@RequestMapping("/account")
public class AccountController {@RequestMapping(value = "/findAccount3")public String findAccount3() {return "forward:/account/findAccount4";}@RequestMapping(value = "/findAccount4")public String findAccount4(Model model) {//添加数据model.addAttribute("msg", "这是springmvc的重定向");return "success";}
}
http://www.lryc.cn/news/283620.html

相关文章:

  • IDEA中启动项目报堆内存溢出或者没有足够内存的错误
  • Angular: DOCUMENT
  • mybatis-plus批量保存异常及效率优化
  • 查找局域网树莓派raspberry的mac地址和ip
  • 乐观锁与悲观锁:高并发场景下的选择
  • vue2 省市区联动组件封装
  • VScode远程开发
  • 芯片设计重要工具—— IBM LSF 分布式高性能计算调度平台
  • RDMA Scatter Gather List详解
  • 【动态规划】24子数组系列_最长湍流子数组_C++
  • fastJson和jackson的日期数据处理
  • 书生·浦语大模型实战营第五节课笔记及作业
  • 如何在CentOS 7 中基于OpenSSL 3.0 搭建Python 3.0 环境
  • 爬虫接口获取外汇数据(汇率,外汇储备,贸易顺差,美国CPI,M2,国债利率)
  • Spring Cloud和微服务架构的关系
  • C++:通过ofstream写入二进制文件内容
  • 系统配置dns主从服务器
  • 【git】解决网络连接问题
  • 限制API接口访问速率
  • 广东省第三届职业技能大赛“网络安全项目”B模块--数字取证解析
  • 全链路压力测试:现代软件工程中的重要性
  • 【计算机网络】难点、易遗忘点总结
  • 谷达冠楠科技:抖音开网店新手小白可以卖的产品
  • 爬虫案例—根据四大名著书名抓取并存储为文本文件
  • 阿里云容器服务助力万兴科技 AIGC 应用加速
  • STM32F103标准外设库——认识STM32(一)
  • 设计模式——1_5 享元(Flyweight)
  • kafka系列(二)
  • Ubuntu20.04安装配置OpenCV-Python库并首次执行读图
  • 经典目标检测YOLO系列(二)YOLOV2的复现(2)正样本的匹配、损失函数的实现及模型训练