Spring RedirectAttributes引數跳轉程式碼例項
RedirectAttributes 是Spring mvc 3.1版本之後出來的一個功能,專門用於重定向之後還能帶引數跳轉的的工具類。他有兩種帶參的方式:
第一種:
redirectAttributes.addAttributie("prama",value); 這種方法相當於在重定向連結地址追加傳遞的引數,例如:
redirectAttributes.addAttributie("prama1",value1);
redirectAttributes.addAttributie("prama2",value2);
return:"redirect:/path/list" ;
以上重定向的方法等同於 return:"redirect:/path/list?prama1=value1&prama2=value2 " ,注意這種方法直接將傳遞的引數暴露在連結地址上,非常的不安全,慎用。
第二種:
redirectAttributes.addFlashAttributie("prama",value); 這種方法是隱藏了引數,連結地址上不直接暴露,但是能且只能在重定向的 “頁面” 獲取prama引數值。其原理就是放到session中,session在跳到頁面後馬上移除物件。如果是重定向一個controller中是獲取不到該prama屬性值的。除非在controller中用(@RequestPrama(value = "prama")String prama)註解,採用傳參的方式。頁面獲值例如:
redirectAttributes.addFlashAttributie("prama1",value1);
redirectAttributes.addFlashAttributie("prama2",value2);
return:"redirect:/path/list.jsp";
在以上引數均可在list.jsp頁面使用EL表示式獲取到引數值${prama*}
controller獲得redirectAttributes重定向的值例如:
redirectAttributes.addFlashAttributie("prama1",value1); redirectAttributes.addFlashAttributie("prama2",value2); return:"redirect:/path/list/" @RequestMapping("list") public List<Student> list(@RequestPrama(value = "prama1")String prama1,@RequestPrama(value = "prama2")String prama2,... ){ //TODO //your code }
通過在controller中的list方法體中可以獲取到引數值。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。