springboot 如何重定向redirect 并隐藏参数

时间:2022-03-07 09:19:42

springboot 重定向redirect 并隐藏参数

在做全局异常处理的时候,碰到重定向到全局错误页面

所谓隐藏参数无非是把参数放到了session中,再重定向后将该值清除

1、全局异常处理方法

?
1
2
3
4
5
6
@ExceptionHandler(value = Exception.class)
public ModelAndView exceptionHandle(RedirectAttributes redirectAttributes) {
    ModelAndView modelAndView = new ModelAndView("redirect:/systemError");
    redirectAttributes.addFlashAttribute("error", "错误信息");
    return modelAndView;
}

2、重定向方法

?
1
2
3
4
5
6
@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 并隐藏参数

前端

springboot 如何重定向redirect 并隐藏参数

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

原文链接:https://blog.csdn.net/wgxaszc8/article/details/79494286