如何让Spring MVC在运行时(在方法中)返回静态资源?
解释得更清楚些。我配置了我的应用程序(spring-MVC3.2.4)来处理一些静态资源,并使用两个视图解析器,FreeMaker和Json。我希望在控制器方法中,我能够告诉spring-mvc,他必须获取静态资源中的文件,尽管视图解析器之一尝试了hadle。
我的配置类如下所示:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.xxxx", excludeFilters = @Filter(Configuration.class)})
public class WebConfig extends WebMvcConfigurerAdapter {
...
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/app.js").addResourceLocations("/app.js");
}
...
@Bean
public ViewResolver contentNegotiatingViewResolver(ContentNegotiationManager manager) {
// Define the view resolvers
List<ViewResolver> resolvers = new ArrayList<ViewResolver>();
JsonViewResolver jsonViewResolver = new JsonViewResolver();
FreeMarkerViewResolver freeMarkerViewResolver = new FreeMarkerViewResolver();
freeMarkerViewResolver.setSuffix("rtl");
resolvers.add(jsonViewResolver);
resolvers.add(freeMarkerViewResolver);
ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver();
resolver.setContentNegotiationManager(manager);
resolver.setViewResolvers(resolvers);
return resolver;
}
}我的控制器:
@Controller
@RequestMapping("/")
public class JSViewController {
@RequestMapping(value="*.js")
public String resolveArquivo(HttpServletRequest request){
// Here I would be able to say to sprint to return a static resource instead of hadle it with one of the View Resolvers.
return request.getRequestURI().replace(request.getContextPath(),"");
}
}发布于 2013-10-18 08:02:54
不幸的是,我不能弄清楚如何在spring运行时返回静态资源,但我使用旧的和好的过滤器解决了这个问题。
https://stackoverflow.com/questions/19401814
复制相似问题