05-springMVC前后台数据传递之默认参数总结

在controller类里边的方法中是有默认的参数的,形参如果是默认的参数的话处理器适配器会默认识别并且进行赋值。

1. 后台获取页面的数据

形参类型 作用 方法
* HttpServletRequest 通过request对象获取请求信息 request.getParameter(" ")
* HttpServletResponse 通过response处理响应信息
* HttpSession 通过session 对象得到 session.getAttribute(" ")

页面:
在这里插入图片描述
后台获取:
在这里插入图片描述

2. 后台向页面传递数据

2.1 ModelAndView

利用ModelAndView来想页面传递参数

		//创建ModelAndView对象
		ModelAndView mav = new ModelAndView();
		//设置模型数据
		mav.addObject("msg","hahahahahaha!");
		mav.setViewName("hello");
		return mav;

ModelAndView 主要使用的就是添加参数 addObject()和
设置视图setViewName()
设置完以后直接返回该对象视图解析器会自动解析。

2.2 Model

使用Model向页面传递数据,Model是一个接口, 在参数里直接声明model即可。
在这里插入图片描述
若使用Model则可以不用ModelAndView, 可以用Mode对象想页面传递数据, View对象则可以使用String返回值替代。视图解析器也会自动解析。
这种方式需要两者结合使用。 比较常用
如下示例:
在这里插入图片描述

  • 总结: 不论是Model还是ModelAnView , 本质上都是使用Request对象向jsp传递数据。 (在页面用request对象可以获得model对象放入的object的 值,这点也可证明上述结论)
    在这里插入图片描述
    显示结果
    在这里插入图片描述

2.2 ModelMap

ModelMap是Model接口的实现类,也可以通过ModelMap向页面传递数据。
使用Model和ModelMap的效果是一样的,上面也说了Model是一个接口,而我们在实例化Model的时候,实例化的正式他的实现类ModelMap。故两者是一样的效果。代码如下所示:
在这里插入图片描述

过程中发现一个小问题 , 下篇分析request.getParameter() 和 reqeust.getAttribute() 的区别 因为今天跳了这个小坑.

猜你喜欢

转载自blog.csdn.net/fanbaodan/article/details/85058885