spring MVC return "redirect:test.do" 传参数

来源:互联网 发布:中国闪存技术知乎 编辑:程序博客网 时间:2024/06/05 19:47

对于请求转发可以分为:1.带参数 2.不带参数@RequestMapping(value="/redirect",method=RequestMethod.GET)  

  1. public String testRedirect(RedirectAttributes attr){  
  2.      attr.addAttribute("a""a");  
  3.      attr.addFlashAttribute("b""b");  
  4.      return "redirect:/test.do" 
  5.  

带参数可使用RedirectAttributes参数进行传递:

      注意1.使用RedirectAttributes的addAttribute方法传递参数会跟随在URL后面 ,如上代码即为http:/test.do?a=a

              2.使用addFlashAttribute不会跟随在URL后面,会把该参数值暂时保存于session,待重定向url获取该参数后从session中移除,这里的redirect必须是方法映射路径,jsp无效。你会发现redirect后的jsp页面中b只会出现一次,刷新后b再也不会出现了,这验证了上面说的,b被访问后就会从session中移除。对于重复提交可以使用此来完成.


@RequestMapping("/test.do")@ResponseBodypublic String test(String a,String b){}


0 2