我目前使用Spring MVC的'mvc:resources ...'标签为我的webapp提供静态内容,在我的servlet上下文中设置URL映射和资源位置,如下所示:
<resources mapping="/resources/**" location="/resources/" />
这很好用,但我想做的是能够将“位置”设置为在应用程序中动态配置的文件系统路径(存储在数据库中)。这可能吗? (我认为这需要在spring上下文初始化之后发生,所以我可以从服务调用中获取结果,但我似乎无法想出一种方法来使其工作。)
答案 0 :(得分: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
是另一回事。也许使用@Autowired
或@Bean
数据源来获取连接并查询数据库中的路径。