在Spring中优先考虑通配符映射

时间:2013-01-28 22:57:35

标签: java spring model-view-controller controller

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

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

}

0 个答案:

没有答案