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 に答える