• Model ModelMap ModelView三者的区别你造吗


    对于MVC框架,控制器controller执行业务逻辑 用于产生模型数据Model 视图view用来渲染模型数据。

    一:Model和ModelAndView这两个类在spring的视图解析时作用及区别
           1、Model是用来传输数据的,不会进行业务的寻址
           2、ModelAndView可以进行业务寻址(就是设置对应的要请求的静态文件,静态文件类似于jsp文件)

           最大的区别:Model每一次请求可以自动创建,ModelAndView是需要我们自己去new的

    二.Model方法

           如果在控制层上的方法声明了注解@ResponseBody,则会直接将返回值输出到页面,Model是一个接口,实现类为ExtendModelMap,继承了ModelMap类。

              public class ExtendModelMap extends ModelMap implements Model

      model可以用来 接收 各种类型的数据,如果用来接收一组数据list,那么这个时候的model实际上是ModelMap

    三.ModelMap

      ModelMap对象主要用于 传递 控制方法处理数据到结果页面(也就是把结果页面上需要的数据放到ModelMap对象中就可以了)
      作用类似于request对象的setAttribute方法的作用:在一个请求过程中传递处理的数据
      ModelMap本身不能设置页面跳转的URL地址名或者物理跳转地址,此时可以通过控制器方法的字符串返回值来设置跳转URL地址别名或者物理跳转地址

    四.ModelView
      (1)设置转向地址,这也是ModelAndView和ModelMap的主要区别.设置方式如下所示:
                ModelAndView view = new ModelAndView("path:student");
          或者通过setViewName方式:
                public void setViewName(String viewName){...}

      (2)将控制器方法中处理的结果数据传递到结果页面(也就是把在结果页面上需要的数据放到ModelAndView对象中即可)  
          其作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:
              public ModelAndView addObject(String attributeName, Object attributeValue){...}
              public ModelAndView addObject(Object attributeValue){...}
        在jsp中:也是可以通过el表达式语言${name } 来获取并展示ModelAndView中的数据。
        ModelAndView的实例是需要我们手动new的,这也是和ModelMap的一个区别
        而且,ModelAndView 可以自己寻址,只需要return 返回其对象即可。
    记住有ModelView需要返回对象,ModelMap需要返回的是地址路径

  • 相关阅读:
    【学习】reactjs(一)——使用npm创建react项目并整合elementUI
    【学习】整合springboot2.0 和 mybatis,实现基本的CRUD
    macos monterey 系统升级后 go build 错误
    [R语言]关联规则2---考虑items之间严格的时序关系
    [R语言]关联规则1---不考虑items之间的时序关系
    [python]使用python实现Hadoop MapReduce程序:计算一组数据的均值和方差
    [机器学习笔记]奇异值分解SVD简介及其在推荐系统中的简单应用
    [机器学习笔记]主成分分析PCA简介及其python实现
    [游戏数据分析]WAU模型简介及WAU预测
    [R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。
  • 原文地址:https://www.cnblogs.com/HYV587/p/12659227.html
Copyright © 2020-2023  润新知