springboot 如何重定向redirect 並隱藏參數

springboot 重定向redirect 並隱藏參數

在做全局異常處理的時候,碰到重定向到全局錯誤頁面

所謂隱藏參數無非是把參數放到瞭session中,再重定向後將該值清除

1、全局異常處理方法

@ExceptionHandler(value = Exception.class)
public ModelAndView exceptionHandle(RedirectAttributes redirectAttributes) {
    ModelAndView modelAndView = new ModelAndView("redirect:/systemError");
    redirectAttributes.addFlashAttribute("error", "錯誤信息");
    return modelAndView;
}

2、重定向方法

@GetMapping("/systemError")
public ModelAndView systemError(@ModelAttribute("error") String error){
    ModelAndView modelAndView = new ModelAndView("error");
    modelAndView.addObject("error", error);
    return modelAndView;
}

springboot redirect 傳參問題

眾所周知:

redirect表示重定向,相比於請求轉發,無法將添加的參數繼續保留,傳遞給下一個處理對象,但springboot給我們提供瞭一個方法,redirectattributes的addflashattribute方法將參數,即使通過重定向也能傳遞出去,底層原理使用的是緩存臨時保存 重定向所攜帶的參數

具體案例

controller

在這裡插入圖片描述

前端

在這裡插入圖片描述

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: