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

springboot 如何重定向redirect 并隐藏参数_第1张图片

前端

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的