我想知道是否可以为通配符映射的控制器设置优先级。例如,我希望能够映射以下内容:
/**
/static/**
/resources/**
并让静态和资源优先于包罗万象。我已经尝试让我的全局控制器实现 Ordered 并ResourceHandlerRegistry.setOrder()
用于后两者(并且还将 viewResolver 上的顺序设置为较低的优先级),但这似乎不起作用。我还没有找到任何真正好的资源来详细说明如何做到这一点。任何人都知道如何,或者甚至可能吗?
感谢您提供的任何帮助。
编辑:配置如下:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.mysite" )
public class BaseConfig extends WebMvcConfigurerAdapter {
/**
* Allow us to map a custom directory for resources.
*/
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("/");
registry.addResourceHandler("/inc/**").addResourceLocations("/WEB-INF/views/ajaxincludes/");
registry.setOrder(1);
}
/**
* view resolver
*
* @return
*/
@Bean
public InternalResourceViewResolver configureInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setOrder(2);
return resolver;
}
}