一、Spring使用重定向的方式redirect:
**1.在方法的返回值里加入redirect: 告诉浏览器需要重新打开页面。当控制器方法返回的String值以“redirect:”开头的话,那么这个String不是用来查找视图的,而是用来指导浏览器进行重定向的路径。但是重定向后原始请求就消亡了,那么它所携带的数据也消失了,如果重定向以后的请求需要原始请求的数据必须经过自己的重新计算,Spring提供了两种方式来保存住原始请求的数据 **
1.使用URL模板的方式
2.使用FLASH的方式
二、使用URL模板的方式
2.1 将需要传递的值放入到MODEL中,那么该值会自动匹配到URL模板中对应的占位符,如果没有匹配的那么会自动以查询参数的形式补全,例如userID会自动以查询参数的方式补全
2.3 但是同样使用URL模板的方式也有局限性。不能传递对象类型的数据
model.addAttribute("username","guo");
model.addAttribute("userID","111");
return “redirect:/user/{username}” -----> userguo?userID=111
三、使用URL模板的方式
Spring在3.1的版本以后模型加入了addFlashAttribute()方法,加入到Flash的数据会被保存在会话中。