springboot 学习过程中对启动器注册异常处理问题?
我的启动器代码
我的模板代码
我的控制器代码
我想要的结果是在启动器里面的代码怎么赋值 error这个变量到我的模版,我别的控制器里面是用ModelAndView这个类进行赋值案例
**ModelAndView view = new ModelAndView();
view.addObject("error", e.toString());
return view;**
然后返回view 模板可以直接显示这个异常信息“error”变量 ,
问题:启动器里面的如何赋值变量,路过的大神可以帮忙讲解一下?你的讲解就是我继续努力学习的方向,谢谢
回答:
可以看一下SimpleMappingExceptionResolver的实现,其实这个类是spring为我们提供的一种默认的HandlerExceptionResolver实现,是不支持自定义传入界面一些变量值的。
可以自己写一个类,覆写resolveException方法,然后将自己覆写的类交给spring托管
@Componentpublic class MySimpleExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView result = new ModelAndView();
if(e instanceof NullPointerException){
// 针对特殊异常,可做特殊逻辑。
}
result.addObject("error",e.toString());
result.setViewName("error1");
return result;
}
}
也可以使用 @ControllerAdvice + @ExceptionHandler来实现,一般多采用这种方式
以上是 springboot 学习过程中对启动器注册异常处理问题? 的全部内容, 来源链接: utcz.com/p/944573.html