Это было задано несколько раз в Google-суше, но я не могу применить эти резолюции к своей ситуации. В моем приложении J2EE используется Spring, и ранее я использовал SimpleMappingExceptionResolver для перехвата исключений, чтобы показать дружественную страницу ошибок для моих пользователей. Один из ребят в моей команде имеет свой собственный пакет и использует расширенный класс исключений в качестве транспортного средства для передачи ошибок проверки своим пользователям. Итак, каждый раз, когда пользователь вводит неверные данные, он запускает страницу исключения. Он отказывается менять свой код (хотя я и должен это делать), поэтому теперь я вынужден сделать ошибку, обрабатывая специфическую для пакета или контроллера.@ExceptionHandler не срабатывает
Я попытался использовать аннотацию @ExceptionHandler
, чтобы сделать это, но, похоже, она не стреляет. Что я делаю не так? Я ожидаю вызова dmapproval
, чтобы по существу вернуть вид applicationError
.
Вот мой контроллер:
@Controller
public class ExecutiveApprovalController {
/*omitted stuff*/
@ExceptionHandler(Exception.class)
public String routToErrorHandler(Exception anExc) {
return "applicationError";
}
@RequestMapping(value = "/dmapproval", method = RequestMethod.GET)
public String dmApproval(Model model, HttpServletRequest request) throws Exception {
throw new RuntimeException(); // just for testing exception logic
}
/*omitted stuff here, too*/
}
Спасибо за вашу помощь !!
На самом деле у вашего диспетчера есть ' ' или вы вручную настроили различные компоненты распознавателя распознавания/метода? –
Affe
Я использую ' ' в моем файле webmvc-config.xml. –