我正在配置我的Spring MVC 3.1.1應用程序,總結如下。日誌記錄顯示'MyArgumentResolver.resolveArgument'在'MyInterceptor.preHandle'之前被調用。當在舊的時尚配置中使用這兩種配置(具有明確定義的AnnotationMethodHandlerAdapter bean等)時,它們將被調用,反之亦然。我讀了< mvc:註釋驅動的>在某種程度上至關重要,因爲它的配置不會補充mvc:namespace的其他設置。我面臨同樣的問題嗎?在攔截器之前調用的Spring Web MVC 3.1.1參數解析器
<mvc:annotation-driven>
<mvc:message-converters>
...
</mvc:message-converters>
<mvc:argument-resolvers>
<bean class="[...].MyArgumentResolver"/>
</mvc:argument-resolvers>
</mvc:annotation-driven>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/home/**" />
<bean class="[...].MyInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
非常感謝!
許多感謝roblg。將接口更改爲[HandlerMethodArgumentResolver](http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/web/method/support/HandlerMethodArgumentResolver.html)解決了該問題。我的[WebArgumentResolver](http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/web/bind/support/WebArgumentResolver.html)期望攔截器設置一個請求屬性和拋出異常如果attr。不見了。正如你所說的,在攔截器的preHandle之前調用resolveArgument來檢查解析器是否適用。 – brainfrozen 2012-04-23 14:10:08