2

我想知道是否可以为通配符映射的控制器设置优先级。例如,我希望能够映射以下内容:

/**
/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;
    }

}
4

0 回答 0