`

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  
简单易懂 ,谢谢了

相关推荐

    SpringMVC之Model接口

    与 ModelMap 不同的是,ModelAndView 对象有两个作用:(1) 设置转向地址,这也是 ModelAndView 和 ModelMap 的主要区别。设置方式可以通过 ModelAndView 的构造函数设置 view 名称,或者通过 setViewName 方法设置 ...

    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共26页.pdf.zip

    - Controller 处理请求,可能涉及数据校验、业务处理等,然后返回一个 ModelMap 或 ModelAndView 对象。 - 视图解析器 ViewResolver 根据 ModelMap 或 ModelAndView 中的信息找到具体的视图模板。 - 视图渲染...

    springmvc.zip

    同时,Spring MVC 提供了 ModelMap 和 ModelAndView 类,方便在 Controller 与 View 之间传递数据。 此外,Spring MVC 还支持数据验证,可以使用 @Validated 或 Hibernate Validator 注解进行表单验证。AOP(面向切...

    spring-mvc-master.zip

    Spring MVC 提供了ModelMap和ModelAndView类来存储模型数据。View是用户界面,可以是JSP、FreeMarker、Thymeleaf等模板引擎,Spring MVC支持多种视图技术。 五、数据绑定与验证 Spring MVC 提供了强大的数据绑定...

    SpringMVC.docx

    在Controller方法中,可以通过Model、ModelMap或者ModelAndView对象来传递数据到结果页面。例如,可以在方法参数中使用这些对象,添加属性,然后在JSP页面上通过EL表达式(${...})来获取这些值。 综上所述,SSM框架...

    spring_spring_

    1. ModelMap/ModelAndView:控制器方法可以将结果放入ModelMap,然后通过ModelAndView对象返回视图名和模型数据。 2. 请求参数:通过`@RequestParam`注解获取请求参数。 3. 基于路径变量:使用`@PathVariable`捕获...

    黑马程序员SpringMVC课堂笔记

    4. 模型数据传递:阐述ModelMap、ModelAndView如何在Controller和视图之间传递数据。 5. 异常处理:讨论全局异常处理器(@ControllerAdvice)的配置和使用,以及如何自定义异常页面。 6. AOP在SpringMVC中的应用:...

    springmvc_controller_02

    Controller方法可以返回ModelAndView对象,包含模型数据和视图名称,或者直接返回视图名称。例如: ```java @RequestMapping("/showUser") public ModelAndView showUser(@RequestParam("id") int userId) { ...

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

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

    spring MVC要注意的地方

    你可以使用Model、ModelMap、ModelAndView等接口传递模型数据到视图。视图解析器如InternalResourceViewResolver负责将视图名称转化为实际的JSP或FreeMarker等模板文件。 接下来,注解驱动的开发是Spring MVC的一大...

    springmvc处理模型数据ModelAndView过程详解

    SpringMVC框架提供了多种方式来处理模型数据,包括使用ModelAndView、Map及Model、@SessionAttributes和ModelAttribute等。下面我们将详细介绍SpringMVC处理模型数据ModelAndView过程。 一、使用ModelAndView处理...

    springmvc和mybatis整合jar包

    使用 ModelMap 或 ModelAndView 对象来传递数据到视图。 8. **视图解析**:配置 Spring MVC 的视图解析器,如 InternalResourceViewResolver,指定前缀和后缀,以便将模型数据渲染到 JSP 或其他视图技术。 9. **...

    SpringMVC源码

    它可以是简单的Java对象(POJO),也可以是Spring的ModelMap或ModelAndView对象。 4. **ViewResolver**:视图解析器根据ModelAndView中的视图名称查找实际的视图。SpringMVC支持多种视图技术,如JSP、Thymeleaf、...

    springmvc-spring-hibernate 源码

    Model对象可以是简单的Java类,也可以是Spring的ModelMap或者ModelAndView。在Controller处理请求后,将Model对象添加到ModelAndView中,然后返回给视图进行渲染。 总之,这个项目展示了如何集成Spring MVC、Spring...

    Spring MVC的例子使用

    Controller 方法返回值可以是 ModelMap、ModelAndView 或直接的视图名。 **4. 模型(Model)与视图(View)** Model 通常包含业务数据,可以是简单的 Java 对象或者 Map。在 Controller 方法中创建的 Model 对象会...

    springmvc框架面试题

    7. **模型数据**:Model对象可以存储在ModelMap或ModelAndView中,供视图渲染时使用。这些数据可以在Controller方法中添加,也可以通过ModelAndView对象传递。 8. **服务层与数据访问层**:SpringMVC通常与Service...

    springmvc jar包

    Model对象通过ModelMap或ModelAndView传递到视图层,以便在页面上展示。 4. View:视图是用户看到和交互的部分,可以是JSP、FreeMarker、Thymeleaf等模板引擎。SpringMVC使用ViewResolver来解析视图名,并将Model中...

    深入解析Spring MVC与Web Flow

    Spring MVC提供了ModelMap和ModelAndView两个类来帮助管理模型数据。 3. **ViewResolver**:Spring MVC使用ViewResolver来解析视图名,将它转换为实际的视图对象。常见的视图技术有JSP、Thymeleaf、FreeMarker等。 ...

Global site tag (gtag.js) - Google Analytics