abstractController中的Exceptionhandler,只返回404而不是必需的视图

时间:2012-03-01 16:19:30

标签: java spring spring-mvc exception-handling

@ExceptionHandler(MethodArgumentNotValidException.class)
    public ModelAndView validationException(final MethodArgumentNotValidException e)
    {

        final StringWriter sw = new StringWriter();
        final PrintWriter pw = new PrintWriter(sw);
        final String strStackTrace = sw.toString();
        e.printStackTrace(pw);
        logger.error(strStackTrace); // send to logger first
        emailService.sendAlertMail(strStackTrace);
        BindingResult bindingResult = e.getBindingResult();
        List<ObjectError> errors = bindingResult.getAllErrors();
        ModelAndView mav = new ModelAndView("exception");

        mav.addObject("errors", errors);
        /*ObjectError error = errors.get(0);
        error.getDefaultMessage()*/
        return mav;
    }

以上是我在Abstract类中定义的方法,该方法由我的所有控制器继承。验证实际上是有效的,它只是我如何处理它。

此异常处理程序由ajax提交的json控制器调用。 ajax调用本身会打开一个新对话框,该对话框将填充正确的数据和视图,或者带有错误消息的异常视图 - 除非它不是......?

我尝试更改ajax调用,并添加了一个on错误处理程序,但这也不起作用,当验证失败时仍然得到404(如果验证成功则工作正常)。

0 个答案:

没有答案