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"、メソッド = RequestMethod.POST)
@ExceptionHandler({ SpringUtilException.class })
public ModelAndView addEmployee(@Valid EmployeeDTO employeeDTO,
BindingResult 結果) は SpringUtilException をスローします {
ModelAndView mav = new ModelAndView("従業員");
if (result.hasErrors()) {
従業員のリスト = employeeDao.getAllEmployees();
return new ModelAndView("employee", "employeeList", employees);
} そうしないと {
BeanUtils.copyProperties(employeeDTO、従業員);
System.out.println("addEmployee 従業員!" + 従業員);
試す {
employeeDao.persist(従業員);
} キャッチ (EntityExistsException e) {
throw new SpringUtilException(e, "Employee Duplicate");
} catch (例外例) {
throw new SpringUtilException(例: "従業員の追加に失敗しました");
}
// 挿入後、従業員を表示
従業員1の一覧表示 = employeeDao.getAllEmployees();
mav.addObject("isDataSaved" , "データは正常に保存されました");
mav.addObject("employeeList" , employees1);
mav を返します。
}
}
1473 次
2 に答える
0
JSP 出力内でエラーを確認したい場合は、System.out.println を使用しないでください。代わりに、JSP で出力するモデル オブジェクトに例外スタック トレースを追加します。
何かのようなもの:
try {
employeeDao.persist(employees);
}
catch (EntityExistsException e) {
model.addAttribute("error", e.getMessage());
}
そうすれば、JSP で例外を確認して出力できます。次のように、属性キーでアクセスできます。
${error}
于 2012-06-19T13:24:09.963 に答える