【发布时间】:2012-06-21 12:25:12
【问题描述】:
当 catch 块中发生任何异常时,我们如何在同一个 jsp 中显示错误消息,即 employee.jsp 以及 jsp 应该是什么样子?
在控制台中收到此错误消息;此错误的含义是什么?
错误:org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver - 无法调用@ExceptionHandler 方法:public org.springframework.web.servlet.ModelAndView com.kesava.tutorial.controller.HomeController.addEmployee(com.kesava .tutorial.dto.EmployeeDTO,org.springframework.validation.BindingResult) 抛出 com.kesava.tutorial.util.SpringUtilException
java.lang.IllegalStateException:参数 [0] [type=com.kesava.tutorial.dto.EmployeeDTO] 没有合适的解析器
@RequestMapping(value = "/addEmployee", method = RequestMethod.POST)
@ExceptionHandler({ SpringUtilException.class })
public ModelAndView addEmployee(@Valid EmployeeDTO employeeDTO,
BindingResult 结果)抛出 SpringUtilException {
ModelAndView mav = new ModelAndView("employee");
if (result.hasErrors()) {
列出员工 = employeeDao.getAllEmployees();
return new ModelAndView("employee", "employeeList", employees);
} 别的 {
BeanUtils.copyProperties(employeeDTO, employees);
System.out.println("添加员工员工!" + 员工);
尝试 {
employeeDao.persist(员工);
} 捕捉(EntityExistsException e){
throw new SpringUtilException(e, "Employee Duplicate");
} 捕捉(异常前){
throw new SpringUtilException(ex, "Failed to add Employee");
}
// 插入后显示员工
列出employees1 = employeeDao.getAllEmployees();
mav.addObject("isDataSaved" , "数据保存成功");
mav.addObject("employeeList" , employees1);
返回mav;
}
}
【问题讨论】:
标签: spring-mvc