springboot 学习过程中对启动器注册异常处理问题?

我的启动器代码

我的模板代码

我的控制器代码

我想要的结果是在启动器里面的代码怎么赋值 error这个变量到我的模版,我别的控制器里面是用ModelAndView这个类进行赋值案例

**ModelAndView view = new ModelAndView();
view.addObject("error", e.toString());
return view;**

然后返回view 模板可以直接显示这个异常信息“error”变量 ,
问题:启动器里面的如何赋值变量,路过的大神可以帮忙讲解一下?你的讲解就是我继续努力学习的方向,谢谢


回答:


可以看一下SimpleMappingExceptionResolver的实现,其实这个类是spring为我们提供的一种默认的HandlerExceptionResolver实现,是不支持自定义传入界面一些变量值的。

可以自己写一个类,覆写resolveException方法,然后将自己覆写的类交给spring托管

@Component

public 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

回到顶部