SpringMVC中ModelAndView和Model的区别

转自:https://blog.csdn.net/qq_39818325/article/details/81367861

在学习SSM框架中的SpringMVC时常常看到在控制层Controller中有的使用ModelAndView进行数据模型的传输,有的使用Model进行数据模型传输,为何有两种不同度类型进行传输呢?

一, 若返回类型为ModelAndView类型,需要方法结束时,定义ModelAndView,将model和view分别进行设置,代码方法如下:
在这里插入图片描述

jsp页面就不给出了,这里以商品的查询为例

主要步骤:

1,首先是创建ModelAndView对象,再调用addObject方法,参数一为该数据命名,参数二为传入前面从数据库中获取到的商品列表

2,再调用setViewName方法设置jsp页面的路径,这里的地址前缀和后缀已经在web.xml文件中定义好了,可直接简写如上。如未有定义可以使用上方以注释的路径进行传入

3,最后返回modelAndView数据

二,若方法返回String类型,则要使用Model,表示返回逻辑视图名,真正视图(jsp路径)=前缀+逻辑视图名+后缀,代码如下:

在这里插入图片描述

主要步骤:

1,在方法括号中定义Model类型

2,调用addAttribute方法,参数一为给数据命名,参数二为传入上面获取到的数据

3,最后返回jsp页面的路径

猜你喜欢

转载自blog.csdn.net/weixin_44510465/article/details/87899464