`
张守伟
  • 浏览: 4250 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

(转)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. }  
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. }  



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;   
分享到:
评论

相关推荐

    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_controller_02

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

    SpringMVC.docx

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

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

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

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

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

    spring_spring_

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

    深入解析Spring MVC与Web Flow

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

    黑马程序员SpringMVC课堂笔记

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

    spring MVC要注意的地方

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

    java行转列的例子

    - 使用ModelAndView或ModelMap在Spring MVC等框架中传递数据到视图层。 7. 错误处理与测试: - 在处理数据时,应考虑到异常情况,如空指针、数组越界等,并进行适当的错误处理。 - 编写单元测试确保转换逻辑的...

    SpringMVC源码

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

    springmvc框架面试题

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

    springmvc-spring-hibernate 源码

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

    springmvc和mybatis整合jar包

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

    springmvc jar包

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

Global site tag (gtag.js) - Google Analytics