1、知识点:
1)、如果要实现重定向,则需在setViewName()指定的视图前添加redirect:,此时springmvc.xml文件中配置的视图解析器将会失效,即需要在setViewName中写上jsp相对于项目根的路径。
2)、重定向的方式在request域中的数据会失效,此时可以通过ModelAndView来传递数据,但是只能传递基本数据类型和String类型,因为spring mvc会将传递的数据以请求参数的方式放到url的后面,此时任何数据类型都会被转换为普通的字符串。另外,我们在jsp中取值的时候需要使用 EL 表达式中的请求参数param读取。
3)、还可以将数据放到HttpSession域中。
1.、重定向到页面,Controller。
@RequestMapping("/redirectMAV.do")
public ModelAndView redirectMAV(School school,String name)throws Exception{
ModelAndView mv = new ModelAndView();
//在重定向中可以使用ModelAndView传递数据,但是只能传递基本数据类型和String类型
mv.addObject("school",school);
mv.addObject("name", name);
//使用重定向,此时springmvc.xml配置文件中的视图解析器将会失效
mv.setViewName("redirect:/jsp/result.jsp");
return mv;
}
2、result.jsp页面获取定向数据。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${school.schoolName}<br>
${param.school.address}<br>
${param.name}
</body>
</html>