1、url显示参数信息(不安全)
@Controller
@RequestMapping("/UserOperate")
public class UserController {
@RequestMapping("/login")
public String login(RedirectAttributs redirectAttributes) {
redirectAttributes.addAttribute("name", "123");
redirectAttributes.addAttribute("success", "success");
//等价于 "redirect://main?name=123&success=success"
return "redirect:/UserOperate/main";
}
@RequestMapping("/main")
public String login(HttpServletRequest request) {
String name=request.getParameter("name");
String success=request.getParameter("success");
System.out.println(name);//输出"name"
System.out.println(success);//输出"success"
return "main";//返回main.jsp
}
}
此种方法url直接显示“main?name=123&success=success”,在重定向之后的页面或者控制器main()方法里再去获取url后面的参数就可以了
2、url不显示参数信息(安全)
@Controller
@RequestMapping("/UserOperate")
public class UserController {
@RequestMapping("/login")
public String login(RedirectAttributs redirectAttributes) {
redirectAttributes.addFlashAttribute("name", "123");
redirectAttributes.addFlashAttribute("success", "success");
return "redirect:/UserOperate/main";//重定向后到mainly()函数
}
@RequestMapping("/main")
public String mainly(@ModelAttribute("name") String name,
@ModelAttribute("success") String success ) {
System.out.println(name);//输出"name"
System.out.println(success);//输出"success"
return "main";//返回main.jsp
}
}
此种方法url不显示参数,重定向后在mainly()中只能通过@ModelAttribute获取参数值