zoukankan      html  css  js  c++  java
  • SpringMVC中的Model和ModelAndView的区别

    1.主要区别

    Model是每次请求中都存在的默认参数,利用其addAttribute()方法即可将服务器的值传递到jsp页面中;
    ModelAndView包含model和view两部分,使用时需要自己实例化,利用ModelMap用来传值,也可以设置view的名称

    2.例子

    1)使用Model传值

    @RequestMapping(value="/list-books")  
        private String getAllBooks(Model model){  
            logger.error("/list-books");  
            List<Book> books= bookService.getAllBooks();  
            model.addAttribute("books", books);  
            return "BookList";  
        }  

    在jsp页面利${books}即可取出其中的值


    2)使用ModelAndView传递值有两种方法,不同方法在jsp页面的取值方式不同,同时设置了view的名称

    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response,
                                             Object handler, Exception ex) {
            LibraryException le=null;
            if(ex instanceof LibraryException){
                le=(LibraryException)ex;
            }else{
                le=new LibraryException("系统未知异常!");
            }
     
            ModelAndView modelAndView=new ModelAndView();
            modelAndView.addObject("exception",le.getMessage());
            modelAndView.getModel().put("exception",le.getMessage());
            modelAndView.setViewName("error");
     
            return modelAndView;
        }

    jsp中${requestScope.exception1}可以取出exception1的值;
    jsp中${exception2}可以取出exception2的值。

  • 相关阅读:
    ObjecT4:On-line multiple instance learning (MIL)学习
    目标跟踪ObjectT综述介绍
    CV与IP:基础,经典以及最近发展
    PythonGIS可视化—Matplot basemap工具箱
    SciPy和Numpy处理能力
    mwArray与C++接口
    使用QT的一些小Tipster
    C++调用Matlab 注意事项
    Qwt--散点图/函数图
    **PCL:嵌入VTK/QT显示(Code^_^)
  • 原文地址:https://www.cnblogs.com/shamo89/p/9948694.html
Copyright © 2011-2022 走看看