解決重定向參數獲取問題


需求場景:當用戶登陸時,輸入名錯誤的用戶名和密碼,需要在登陸頁顯示提示信息。

第一種方法:登陸不成功時,直接 return 到 頁面,通過 thymeleaf 可以直接獲取到 Map中到錯誤信息

第二種方法:使用 RedirectAttributes

attributes.addFlashAttribute("loginFailMsg","1001:用戶名與密碼不匹配,請重新輸入~~");
attributes.addAttribute("test","test");

運行結果如下圖:使用addAttribute()方法,會將參數拼裝到url中,這樣會暴露參數名和參數值,因此不建議采用該方法

使用addFlashAttribute()可以隱藏參數傳遞

 

 使用addFlashAttribute() 后,參數獲取,需要在 Controller 方法中增加 HttpServletRequest 參數;RequestContextUtils.getInputFlashMap 獲取到FlashMap 是 final類型不可修改。

String loginFailMsg = (String) RequestContextUtils.getInputFlashMap(request).get("loginFailMsg");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM