ModelMap,ModelAndView和@Modelattribute的区别

2025-04-26 04:41:33
推荐回答(1个)
回答1:

首先介绍ModelMap和ModelAndView的作用

ModelMap

ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。

modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。

ModelAndView

ModelAndView对象有两个作用:

作用一 设置转向地址(这也是ModelAndView和ModelMap的主要区别)

作用二
用于传递控制方法处理结果数据到结果页面,也就是说我们把需要在结果页面上需要的数据放到ModelAndView对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。

接下来介绍使用方法 :

ModelMap

ModelMap的实例是由bboss mvc框架自动创建并作为控制器方法参数传入,用户无需自己创建。

ModelAndView

ModelAndView的实例是由用户手动创建的,这也是和ModelMap的一个区别。

@ModelAttribute

@ModelAttribute 注解的返回值会覆盖@RequestMapping 注解方法中的@ModelAttribute 注解的同名命令对象