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>
