标签:
测试成功。带参数的重定向。
模拟情况:添加完信息后跳转到一个新页面,显示刚新增的信息。
测试成功的几种方式。
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