我想知道是否可以为通配符映射设置控制器的优先级。例如,我希望能够映射以下内容:
/**
/static/**
/resources/**
让静态和资源优先于捕获之前。我已经尝试让我的全局控制器实现Ordered并使用ResourceHandlerRegistry.setOrder()
用于后两者(并且还将viewResolver上的顺序设置为较低的priorty),但这似乎不起作用。我没有找到任何真正好的资源详细说明如何做到这一点。任何人都知道如何,或者甚至可能吗?
感谢您提供的任何帮助。
编辑: 配置如下:
@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;
}
}