ModelAndView的使用

将ModelAndView作为方法参数和new ModelAndView 有什么区别,两者一样可以传递参数

 @RequestMapping("ModelAndView")
    public ModelAndView modelAndView(ModelAndView modelAndView){
//        ModelAndView modelAndView = new ModelAndView();
        User user = new User();
        user.setName("胖橘");
        user.setSex("女");
        modelAndView.addObject("user",user);
        modelAndView.setViewName("ViewHandler");
        return modelAndView;
    }

使用ModelAndView作为方法参数和通过new ModelAndView创建对象的主要区别在于,使用参数方式可以更加灵活地操作和传递参数。

当我们将ModelAndView作为方法参数时,Spring MVC框架会自动创建一个实例并注入到方法中。此时,我们可以在方法中对这个实例进行操作,比如添加模型数据、设置视图名称等。而当我们通过new ModelAndView方式创建对象时,我们需要手动添加模型数据和设置视图名称。

因此,使用参数方式可以更加方便和灵活地操作和传递参数。同时,使用参数方式也可以避免对象创建的多余开销。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:解决安卓底部导航栏遮挡view布局
  • 除此之外, 这篇博客: @ResponseBody和ModelAndView中的 ModelAndView 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    使用ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图。

    ModelAndView中的Model代表模型,View代表视图。

    业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该Spring MVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的页面上。 

    具体作用:返回指定页面。

     

     

     

     


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^