springmvc中的Model、ModelMap、ModelAndView

本文详细解析了SpringMVC框架中Model与ModelAndView的用途与区别。Model仅用于传递数据,而ModelAndView则能同时进行数据传递及页面跳转。通过具体代码示例说明了两者的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在springMVC的使用过程中,我们经常用model modelAndView返回页面视图数据。

简介
  1. Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。
  2. ModelMap:传递控制方法处理数据到结果页面
  3. ModelAndView
    (1) 将控制器方法中处理的结果数据传递到结果页面
    (2) 设置转向地址,这也是ModelAndView和ModelMap的主要区别
代码示例

Model传递数据

public String postMethod(Model model,HttpServletRequest request)
{
     //设置test页面需要的参数
      model.addAttribute("name","张三");
         ......
     //返回跳转地址
      return "test";
}

ModelAndView传递数据

public String postMethod(HttpServletRequest request)
{
     Map map = new HashMap();
     map.put("name","张三");//test页面的参数
     return new ModelAndView("test",map);//设置页面地址
}
总结
  1. Model只是用来传输数据的,并不会进行业务的寻址。ModelAndView却是可以进行业务寻址的。(设置对应的要请求的静态文件,这里的静态文件指的是类似jsp的文件)
  2. Model是每一次请求都必须会带着的,但是ModelAndView是需要我们自己去新建的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值