`

ModelMap和ModelAndView的作用

 
阅读更多

首先介绍ModelMap和ModelAndView的作用
ModelMap
ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:
addAttribute(String key,Object value);
在页面上可以通过el变量方式$key或者bboss的一系列数据展示标签获取并展示modelmap中的数据。
modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。

ModelAndView
ModelAndView对象有两个作用:
作用一 设置转向地址,如下所示(这也是ModelAndView和ModelMap的主要区别)
ModelAndView view = new ModelAndView("path:ok");

作用二 用于传递控制方法处理结果数据到结果页面,也就是说我们把需要在结果页面上需要的数据放到ModelAndView对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:
addObject(String key,Object value);

在页面上可以通过el变量方式$key或者bboss的一系列数据展示标签获取并展示ModelAndView中的数据。

作用介绍完了后,接下来介绍使用方法


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

Java代码 复制代码 收藏代码
  1. public String xxxxmethod(String someparam,ModelMap model)   
  2. {   
  3.      //省略方法处理逻辑若干   
  4.       //将数据放置到ModelMap对象model中,第二个参数可以是任何java类型   
  5.       model.addAttribute("key",someparam);   
  6.      ......   
  7.      //返回跳转地址   
  8.       return "path:handleok";   
  9. }  
public String xxxxmethod(String someparam,ModelMap model)
{
     //省略方法处理逻辑若干
      //将数据放置到ModelMap对象model中,第二个参数可以是任何java类型
      model.addAttribute("key",someparam);
     ......
     //返回跳转地址
      return "path:handleok";
}



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

Java代码 复制代码 收藏代码
  1. public ModelAndView xxxxmethod(String someparam)   
  2. {   
  3.      //省略方法处理逻辑若干   
  4.       //构建ModelAndView实例,并设置跳转地址   
  5.       ModelAndView view = new ModelAndView("path:handleok");   
  6.       //将数据放置到ModelAndView对象view中,第二个参数可以是任何java类型   
  7.       view.addObject("key",someparam);   
  8.      ......   
  9.      //返回ModelAndView对象view   
  10.       return view;   
  11. }  
分享到:
评论
15 楼 bao梦 2016-06-08  
zhang5476499 写道
博主,前端的jsp页面怎么取出modelmap的数据?从request的getAttrubte()取出么?

直接   ${} 这样就可以取值了  ${key}
14 楼 hiberk 2016-05-22  
zhang5476499 写道
博主,前端的jsp页面怎么取出modelmap的数据?从request的getAttrubte()取出么?



@Controller
modelMap.setAttribute("meg","这是控制器返回的数据");




XXXX.jsp

${msg}

这样就可以取出msg变量里面的值。跟Session是一个的用法
13 楼 zhang5476499 2016-04-21  
博主,前端的jsp页面怎么取出modelmap的数据?从request的getAttrubte()取出么?
12 楼 lr1990420 2015-07-18  
11 楼 船长过桥人 2014-08-15  
      
10 楼 usmeet 2014-07-16  
very  good  article
9 楼 bao梦 2014-04-04  
sandays_cn 写道
请问model和map如何使用呢?

model.addAttribute("key",someparam);  这样之后页面上你就可以引用key了,值就是第二个参数
8 楼 sandays_cn 2014-03-26  
请问model和map如何使用呢?
7 楼 sandays_cn 2014-03-26  
介绍的不错,刚好需要这方面的知识
6 楼 324225837 2014-03-21  
为何我照你的这样写 数据不能传递?
5 楼 It_lvshun 2014-03-04  
谢谢分享。
4 楼 1984294311 2013-07-09  
谢谢了,简单易懂
3 楼 bao梦 2013-05-30  
zyhui98 写道
代码能更多点就好了。
public ModelAndView xxxxmethod(String someparam)  

someparam是页面传过来的?

对,页面上传过来的值
2 楼 zyhui98 2013-05-29  
代码能更多点就好了。
public ModelAndView xxxxmethod(String someparam)  

someparam是页面传过来的?
1 楼 jack_zcf 2012-12-25  
简单易懂 ,谢谢了

相关推荐

    myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版

    myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版,可在myEclipse2013自带的Tomcat 7上运行,weblogic上可能有问题,有ModelMap 和ModelAndView的简单使用比较,ModelMap用起来更方便简洁。也使用到了c...

    SpringMVC ModelAndView-2021-04-11.txt

    SpringMVC将服务器处理后的结果返回并带给浏览器

    SpringMVC-Spring-Maven 登录、model、view实例

    不需要数据库交互,包括登录验证功能,以及Model/ModelMap/Map/ModelAndView与页面交互

    springboot jpa mysql controller演示

    public String jpaTest(ModelMap modelMap){ userRepository.save(new User("python","123456","xxxxx@126.com")); List<User> users = userRepository.findAll(); modelMap.put("users", users); return ...

    jsp 显示springmvc modelmap传递的对象详细介绍

    jsp 显示springmvc modelmap传递的对象 最近在做一个小网站,功能非常基础,决定用springmvc搭建。 遇到一个问题,在controller向前端传值时,比如使用ModelMap传了一个字符串,modelmap.addattribute(“msg”, ...

    SpringMVC处理模型数据-2.docx

    – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 – Map及Model: 入参为org.springframework.ui.Model、org.springframework.ui.ModelMap 或 Java.uti.Map 时,处理...

    spring chm文档

    对模型的支持:ModelMap (ModelAndView) 13.11.3. 对视图的支持: RequestToViewNameTranslator 13.12. 其它资源 14. 集成视图技术 14.1. 简介 14.2. JSP和JSTL 14.2.1. 视图解析器 14.2.2. 'Plain-old' ...

    Spring 2.0 开发参考手册

    对模型的支持:ModelMap (ModelAndView) 13.11.3. 对视图的支持: RequestToViewNameTranslator 13.12. 其它资源 14. 集成视图技术 14.1. 简介 14.2. JSP和JSTL 14.2.1. 视图解析器 14.2.2. 'Plain-old' ...

    Spring中文帮助文档

    对模型的支持:ModelMap(ModelAndView) 13.11.3. 对视图的支持:RequestToViewNameTranslator 13.12. 基于注解的控制器配置 13.12.1. 建立dispatcher实现注解支持 13.12.2. 使用@Controller定义一个控制器 ...

    Spring API

    对模型的支持:ModelMap(ModelAndView) 13.11.3. 对视图的支持:RequestToViewNameTranslator 13.12. 基于注解的控制器配置 13.12.1. 建立dispatcher实现注解支持 13.12.2. 使用@Controller定义一个控制器 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    对模型的支持:ModelMap (ModelAndView) 13.11.3. 对视图的支持: RequestToViewNameTranslator 13.12. 其它资源 14. 集成视图技术 14.1. 简介 14.2. JSP和JSTL 14.2.1. 视图解析器 14.2.2. 'Plain-old' JSPs ...

    浅谈SpringMVC jsp前台获取参数的方式 EL表达式

    ModelAndView ModelMap Model里添加的参数 JSP: 直接用${参数名} JAVA: 前台表单里的信息,或者是直接在url后面以?name=value&name2=value2形式传到后台的 JSP: ${param.参数名} 相当于JAVA的request....

    SpringMVC之Model接口

    详解介绍了springmvc框架中的Model接口,及其实现类的区别。

    spring_MVC源码

    本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...

    SpringMVC Controller 返回值的可选类型详解

    本篇文章主要介绍了SpringMVC Controller 返回值的可选类型详解 ,spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void,有兴趣的可以了解一下

    SPRING API 2.0.CHM

    ModelMap ModelMBeanNotificationPublisher MultiActionController MultipartActionRequest MultipartException MultipartFile MultipartFilter MultipartHttpServletRequest MultipartResolver ...

Global site tag (gtag.js) - Google Analytics