0

我只是一个关于春天的新手。

我现在@ExceptionHandler用来处理我的 Web 应用程序的所有异常。在我捕捉到异常之后,它将转到显示错误消息的 error.jsp 页面。

我有一个ParentController,我有:

    @org.springframework.web.bind.annotation.ExceptionHandler(PortalException.class)
    public ModelAndView handle(PortalException e, HttpServletRequest request) {
        ModelMap map = new ModelMap();

        map.addAttribute("message", e.getMessage());

        return new ModelAndView("/error", map);
    }

我有一个ErrorController扩展ParentController来添加属性:

@Controller
public class ErrorController extends ParentSecureController {

    @RequestMapping(value = "/error", method = RequestMethod.POST)
    @ResponseBody
    public String errorHandler(Model model, HttpServletRequest request) {
        model.addAttribute("excetpion.message", request.getParameter("message"));
        return "/error";
    }
}

error.jsp

<p>Excpetion is: ${exception.message}</p>

当我运行我的应用程序时,我可以捕获异常并跳转到error.jsp,但没有显示异常消息。任何人都可以帮助我弄清楚如何解决它。

4

1 回答 1

0

请尝试使用:

@Controller
public class ErrorController extends ParentSecureController {
     @RequestMapping(value = "/error", method = RequestMethod.POST)
     @ResponseBody
     public String errorHandler(Map<String, Object> map, HttpServletRequest request) {
           map.put("excetpion.message", request.getParameter("message"));
           return "/error";
    }
}

更新

在这种情况下将您从@Controller 获取的消息映射到 View 错误.jsp

我希望这些有帮助!:)

于 2013-09-05T18:37:41.003 回答