动态为弹簧启动提供静态位置

时间:2018-05-20 10:45:57

标签: spring-mvc spring-boot

我有一个spring boot应用程序,其中包含使用Polymer构建的Web应用程序。 Polymer Web应用程序使用ES5和一个ES6构建两个版本。这意味着我有两个独立的Web应用程序构建。现在基于用户代理,如Chrome和& firefox我想提供ES6版本,对于IE11,我必须提供Es5版本。

两个版本的应用程序都放在弹簧启动的静态文件夹中,如

/static/es5
/static/es6

两个版本都包含index.html文件并且包含相同的文件夹结构,只是代码区别。

我希望用户点击相同的网址,他们应该根据用户代理/浏览器动态获取资源。

我在application.properties中定义了以下属性。

 spring.resources.static-locations=classpath:/public/es5/

我如何制作es5& es6资源动态提供???

`

1 个答案:

答案 0 :(得分:0)

您必须编写自定义ResourceResolver。它将允许您访问请求,因此您可以根据请求标头提供资源。

文档:

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/resource/ResourceResolver.html

说明:

https://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resources