#spring #spring-mvc
#spring #spring-mvc
Вопрос:
Мне нравится SimpleMappingExceptionResolver
, потому что в одном месте у меня есть все сопоставления exception-> view для всех контроллеров в веб-приложении (я полагаю, что). Для настройки какого-либо исключения в конкретном контроллере я хотел бы использовать @ExceptionHandler
, но это не работает вместе — все исключения обрабатываются SimpleMappingExceptionResolver
. Как заставить это работать вместе?
@Controller
public class SomeController {
...
@ExceptionHandler(SomeException.class)
public ModelAndView handleException(Exception ex) {
// ...
}
}
SimpleMappingExceptionResolver:
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="error"/>
<property name="exceptionMappings">
...
</property>
</bean>
Ответ №1:
Короткий ответ: p:order
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver" p:order="1" />
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:order="2" p:defaultErrorView="uncaughtException"/>
Полная история: форум springsource.
Комментарии:
1. отсутствует закрытие /> во втором теге компонента
2. при использовании новой инфраструктуры из Spring MVC (
RequestMappingHandlerMapping
иRequestMappingHandlerAdapter
) вы должны использоватьExceptionHandlerExceptionResolver
вместоAnnotationMethodHandlerExceptionResolver
.3. теперь мы также можем использовать HandlerExceptionResolverComposite- doanduyhai.wordpress.com/2012/05/06 /…