• ModelMap和ModelAndView


    一、ModelMap和ModelAndView

    1.1、ModelMap 


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

    • addAttribute(String key,Object value); 

      在页面上可以通过el变量方式$key或者bboss的一系列数据展示标签获取并展示modelmap中的数据。 
    modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。 

    1.2、ModelAndView

      ModelAndView对象有两个作用: 

    • 设置转向地址(这也是ModelAndView和ModelMap的主要区别) ModelAndView view = new ModelAndView("path:ok"); 
    • 用于传递控制方法处理结果数据到结果页面,也就是说我们把需要在结果页面上需要的数据放到ModelAndView对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数: addObject(String key,Object value);在页面上可以通过el变量方式$key或者bboss的一系列数据展示标签获取并展示ModelAndView中的数据。  

    二、使用方法

    2.1、ModelMap


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

     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 }  
    10 
    11 public String xxxxmethod(String someparam,ModelMap model)  
    12 {  
    13      //省略方法处理逻辑若干  
    14       //将数据放置到ModelMap对象model中,第二个参数可以是任何java类型  
    15       model.addAttribute("key",someparam);  
    16      ......  
    17      //返回跳转地址  
    18       return "path:handleok";  
    19 }  

    2.2、ModelAndView 

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

     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 }  
  • 相关阅读:
    SQL点滴34—SQL中的大小写
    js关闭和打开页面
    jquery处理checkbox
    CKeditor 配置使用
    .net4.0中的ClientIDMode
    FCKEditor使用说明
    SQL对Xml字段的操作 拓荒者
    c#中BackGroundWorker控件 拓荒者
    C#中DataGradView控件的常用操作 拓荒者
    JavaScript操作Xml 拓荒者
  • 原文地址:https://www.cnblogs.com/geekdc/p/5275344.html
Copyright © 2020-2023  润新知