zoukankan      html  css  js  c++  java
  • Model、ModelMap、ModelAndView的使用和区别

    Model、ModelMap、ModelAndView的使用和区别

     

    1、Model的使用

      数据传递:Model是通过addAttribute方法向页面传递数据的;

      数据获取:JSP页面可以通过el表达式或C标签库的方法获取数据;

      return:return返回的是指定的页面路径;

    复制代码
     1     /**
     2      * Model是每一次请求可以自动创建
     3      * @param model
     4      * @return
     5      */
     6     @RequestMapping("/test01")
     7     public String test01(Model model){
     8         model.addAttribute("param_id", "01");
     9         model.addAttribute("param_name", "spring-mvc");
    10         return "test";
    11     }        
    复制代码

    2、ModelMap的使用

      ModelMap的使用与Model相同,ModelMap是一种特殊的Model,一般来说,Model可以接收各种类型的数据,如果接收的数据是List,那么这个时候Model实际上是ModelMap。

    3、ModelAndView的使用

      数据传递:ModelAndView通过addObject方法向页面传递数据;

      数据获取:JSP页面可以通过el表达式或C标签库的方法获取数据(与Model的获取方式相同);

      return:return返回的是ModelAndView对象;

      ModelAndView设置跳转地址有两个方式:

      第一种:在new ModelAndView时添加地址参数,如:

          ModelAndView mav = new ModelAndView("test");

      第二种:使用ModelAndView的setViewname(String)方法去设置,如:

          mav.setViewName("test");
    复制代码
     1   /**
     2      * ModelAndView需要我们自己创建
     3      * 可以指定跳转地址
     4      * @param model
     5      * @return
     6      */
     7     @RequestMapping("/test02")
     8     public ModelAndView test02(){
     9         //第一种方法:在创建ModelAndView对象时,指定跳转地址
    10         ModelAndView mav = new ModelAndView("test");
    11         //第二种方法:用方法setViewName,指定跳转地址
    12 //        mav.setViewName("test");
    13         mav.addObject("param_id", "02");
    14         mav.addObject("param_name", "ModelAndView");
    15         return mav;
    16     }
    复制代码

    4、Model与ModelAndView的区别

      第一点:Model只是用来传输数据的,并不会进行业务的寻址。ModelAndView 却是可以进行业务寻址的;所以Model的返回值是url地址,而ModelAndView的返回值是ModelAndView对象;

      第二点:Model是每一次请求可以自动创建,但是ModelAndView 是需要我们自己去new的。所以使用Model时Controller的参数是Model。

  • 相关阅读:
    jar包打包成exe示例(基于maven项目)
    助教小工具
    HUST软件测试1504班: 第0周作业成绩
    软件质量与测试2018春第0周作业1:开设博客
    RobotFramework学习-问题
    Java读取本地文件乱码的解决方案
    滑动窗口模板题(对读写性能要求贼高)
    Invalid index name [xxx], must be lowercase
    Java自动装箱和自动拆箱的理解
    TKMabatis坑
  • 原文地址:https://www.cnblogs.com/liuqingzhong/p/14093060.html
Copyright © 2011-2022 走看看