我只是一个关于Spring的新手。
我现在使用@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
,但不会显示异常消息。
任何人都可以帮我弄清楚如何解决它。
答案 0 :(得分: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,在这种情况下得到它的错误error.jsp
我希望这些有帮助! :)强>