之前的校验是对一个实体对象做校验,但有的时候就不是一个实体对象,而是属性值,那怎么进行呢?
配置了controller开启校验后产生了异常反馈,那如果让这个反馈信息出现在页面中呢?
目标是出现异常了,调回原来的页面,然后提示不可为空
这里就是用全局异常来处理
package com.lin.springbootavalidate.exception;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolationException;
@Configuration
public class GlobalException implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse,
Object handler, Exception e) {
ModelAndView mv = new ModelAndView();
//判断不同异常类型,做不同视图的跳转
if(e instanceof NullPointerException){
mv.setViewName("error5");
}
if(e instanceof ArithmeticException){
mv.setViewName("error6");
}
if(e instanceof ConstraintViolationException){
mv.setViewName("findUser");
}
mv.addObject("error",e.getMessage().split(":")[1]);
return mv;
}
}
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!