1、ModelAndView

springMVC中返回值如果是ModelAndView,则其既包含模型数据信息,也包含视图信息。

在处理方法中可以使用ModelAndView对象的方法添加模型数据:addObject(String attributeName, Object attributeValue)

设置视图:setView(String viewName)

2、转发到jsp页面

请求处理方法中返回字符串,默认使用服务器内部跳转(forward)

1 return "main";

重定向,在返回的字符串前面加上“redirect:/”

1 return "redirect:/main.jsp";

使用ModelAndView对象进行转发,默认使用forward转发

1 mv.setViewName("main");

使用ModelAndView对象进行重定向

1 mv.setViewName("redirect:/main.jsp");

3、转发到控制器的请求处理方法

转发到指定方法

1 return "forward:/main";

重定向到方法

1 return "redirect:/main";

使用ModelAndView进行转发

1 mv.setViewName("forward:/main");

使用ModelAndView进行重定向

1 mv.setViewName("redirect:/main");

需要注意的是,重定向会在浏览器重新发起请求,所以不能访问WEN-INF下的资源文件。重定向必须加资源文件后缀名,即.jsp。