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
前端
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。