SpringMVC框架的Controller中的ModelAndView分析

先让我们看一段Controller的代码

 @RequestMapping("/hello")
    public ModelAndView sayHello(String name) {
        ModelAndView mav=new ModelAndView();
        mav.addObject("msg","nihao"+name);
        mav.setViewName("hello");
        return mav;
    }

你可以看见这个里面是有ModelAndView的,ModelAndView从字面上英文翻译来说的话就是模型与视图这样的意思,实际上功能也是差不多这个功能,就是一个视图工具,当new出了ModelAndView这个对象后,就可以进行调用

在开头的时候 public ModelAndView sayHello(String name) { 这个就表示了进入这个网址的话就需要传递参数进来,否则结果虽然也是可以显示视图出来,但是name部分会有一个null,然后这个name会显示在哪里呢,下面的addObject已经给出了答案,就是添加到JSP视图里面去

mav.addObject("msg","nihao"+name);

其中这个代码表示了在JSP视图中增加nihao+name的值,让我们来看看JSP中的代码

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        abc:${msg}
</body>
</html>

其中msg与上面addObject中的msg是一样的,就表示addObject中msg的值将会被传递到这里来,msg的值是"nihao+name"

 mav.setViewName("hello");

这个setViewName的参数就是代表JSP的路径,也就是访问哪一个JSP页面

猜你喜欢

转载自blog.csdn.net/Andre_dong/article/details/107824469