先让我们看一段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页面