2012-09-21 99 views

回答

0

您可以通過從WebMvcConfigurationSupport直接擴展你的網絡配置做到這一點:

@Configuration 
public class WebConfiguration extends WebMvcConfigurationSupport { 

    @Bean 
    public RequestMappingHandlerAdapter requestMappingHandlerAdapter() { 
     ConfigurableWebBindingInitializer webBindingInitializer = new ConfigurableWebBindingInitializer(); 
     webBindingInitializer.setConversionService(mvcConversionService()); 
     webBindingInitializer.setValidator(mvcValidator()); 
     webBindingInitializer.setAutoGrowNestedPaths(false); 


     List<HandlerMethodArgumentResolver> argumentResolvers = new ArrayList<HandlerMethodArgumentResolver>(); 
     addArgumentResolvers(argumentResolvers); 

     List<HandlerMethodReturnValueHandler> returnValueHandlers = new ArrayList<HandlerMethodReturnValueHandler>(); 
     addReturnValueHandlers(returnValueHandlers); 

     RequestMappingHandlerAdapter adapter = new RequestMappingHandlerAdapter(); 
     adapter.setMessageConverters(getMessageConverters()); 
     adapter.setWebBindingInitializer(webBindingInitializer); 
     adapter.setCustomArgumentResolvers(argumentResolvers); 
     adapter.setCustomReturnValueHandlers(returnValueHandlers); 
     return adapter; 
    } 
} 
1

雖然答案六必居是指着我在正確的方向,示例代碼可以更清潔,避免重新配置的一切。這是我現在使用的代碼:

@Bean 
public RequestMappingHandlerAdapter requestMappingHandlerAdapter() { 
    RequestMappingHandlerAdapter bean = super.requestMappingHandlerAdapter(); 
    ConfigurableWebBindingInitializer webBindingInitializer = (ConfigurableWebBindingInitializer) bean.getWebBindingInitializer(); 
    webBindingInitializer.setAutoGrowNestedPaths(false); 
    return bean; 
} 

注意,是可憐的Spring的WebMvcConfigurationSupport不能直接配置的WebBindingInitializer。另請參閱https://jira.springsource.org/browse/SPR-8984

+0

SPR-8984固定在3.2 – Janning