1

我目前使用 Spring MVC 的“mvc:resources ...”标签为我的 webapp 提供静态内容,在我的 servlet 上下文中设置 URL 映射和资源位置,如下所示:

<resources mapping="/resources/**" location="/resources/" />

这很好用,但我想做的是能够将“位置”设置为在应用程序中动态配置的文件系统路径(存储在数据库中)。这可能吗?(我认为这需要在 spring 上下文初始化之后发生,所以我可以从服务调用中获取结果,但我似乎无法想出让它工作的方法。)

4

1 回答 1

2

这应该足够了

@Configuration
@EnableWebMvc
public class Bootstrap extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        String path = "file:" + ...;  // 'file:/' or 'file:' depending on how your path is formatted
        registry.addResourceHandler("/resources/**").addResourceLocations(path);
    }

}

你如何得到path是一个不同的故事。也许使用@Autowiredor@Bean数据源来获取连接并查询您的数据库以获取路径。

于 2013-05-07T16:22:45.143 回答