8

シナリオで例外をスローしています。によって処理され@ExceptionHandlerます。しかし、例外をスローすると、Request method 'POST' not supported
Controller codeと表示されます

@RequestMapping(value = "abcd", method = {RequestMethod.POST,RequestMethod.GET })
public String testAbc(Model model, HttpServletRequest request) throws Exception {
    //some piece of code
    if(someCondition)
        throw new Exception("No data found with id ");
}

ExceptionController クラスのコード

@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception ex, HttpServletRequest request, HttpServletResponse response) {
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("errorMessage", ex.getMessage());
    modelAndView.addObject("errorDetails", ExceptionUtils.getStackTrace(ex));
    modelAndView.setViewName("forward:errorPage");

    return modelAndView;
}

私が何を間違っているのか分かりません。

4

1 に答える 1

5

処理するコントローラーが/errorPageリクエストメソッド POST をとっていないようです。メソッドでは、@ExceptionHandlerビュー名を に設定して、そのページに転送していますforward:errorPage

errorPageコントローラーがメソッドを処理するかどうかを確認できますかPOST

于 2012-12-19T08:59:41.963 に答える