测试成功。带参数的重定向。
模拟情况:添加完信息后跳转到一个新页面,显示刚新增的信息。
测试成功的几种方式。
1.拼接url
addUser
@RequestMapping("/addUser")
public ModelAndView addUser(HttpServletRequest request,HttpServletResponse response){
String username = request.getParameter("username");
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String note = request.getParameter("note");
System.out.println(username);
userService.addUser(username, password, Byte.parseByte(sex), note);
int id = userService.getId(username, password);
return new ModelAndView("redirect:/user/showUser?id="+id);
}
showUser
@RequestMapping("/showUser")
public ModelAndView toIndex(HttpServletRequest request){
ModelAndView modelAndView = new ModelAndView();
//传到的jsp页面
modelAndView.setViewName("showUser");
int id = Integer.parseInt(request.getParameter("id"));
System.out.println(id);
User user = userService.getUser(id);
System.out.println(user);
modelAndView.addObject("user", user);
return modelAndView;
}
2.利用RedirectAttributes类。
redirectAttributes.addFlashAttribute("id", id);
这里用addFlashAttribute(key, value)方法。
传递的页面用
@ModelAttribute("id")int id
取值。
拼接得到的url相当于 return "redirect:/user/showUser?key=value"
感觉第二个比较好用。
不需要传递参数值的话这样就可以了。
return new ModelAndView("redirect:/user/showUser");
原文:http://www.cnblogs.com/mamayi/p/4648471.html