天天看點

springboot重定向時接受不到Model傳遞的參數

//              重定向使用model傳不過去
               redirectAttributes.addFlashAttribute("admin",user.getUsername());
//                這裡使用重定向
                return "redirect:/main.html";
           
  1. redirectAttributes.addAttributie(“param”, value);

    這種方法相當于在重定向連結位址追加傳遞的參數。以上重定向的方法等同于 return “redirect:/hello?param=value” ,注意這種方法直接将傳遞的參數暴露在連結位址上,非常的不安全,慎用。

  2. redirectAttributes.addFlashAttributie(“param”, value);

    這種方法是隐藏了參數,連結位址上不直接暴露,但是能且隻能在重定向的 “頁面” 擷取 param 參數值。其原理就是将設定的屬性放到 session 中,session 中的屬性在跳到頁面後馬上銷毀。

    注意:這種方式在頁面中可以正常擷取,但是跳轉目标是控制器方法的情況下,需要使用 @ModelAttribute 注解綁定參數後才能擷取。

繼續閱讀