2015-06-21 49 views
3

背景添加外部静态文件(CSS,JS,PNG ...)


我有一个春季启动应用,它有logo.png文件添加到的的static文件夹资源文件,该文件最终被构建到用于执行的jar文件中。

这个jar应用程序需要在多个实例中针对不同的客户端运行。所以我做的是创建一个外部application.properties文件,它区分每个用户的设置。 http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

问题


但问题是,我需要改变我的应用程序的每个实例的标志。我无法将客户徽标嵌入到我的应用程序jar中。相反,我需要保持它像我的application.properties外部。

就目前而言,我所做的是为您在执行的jar同一文件夹中的文件logo.png,如果excist,阅读文件,得到的base64数据并显示在img标签。

但我希望这是作为静态内容以适当的方式完成的。我需要将静态内容外化。 所以我可以让每个客户都有一个具有不同静态资源内容的jar的特定实例

例如,我需要保留下面的外部静态文件,并从我的视图hrefsrc html标签的属性中访问。

摘要


所需的文件夹结构

+ runtime 
    - myapp-0.1.0.jar 
    - application.properties 
    + static 
    - logo.png 

应该能够访问

<img th:src="@{/logo.png}" /> 

回答

4

您可以使用资源处理程序来提供外部文件 - 例如

@Component 
class WebConfigurer extends WebMvcConfigurerAdapter { 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/ext/**").addResourceLocations("file:///yourPath/static/"); 
    } 

} 
+0

它的工作原理:)谢谢 –

相关问题