当前位置: 首页 > 知识库问答 >
问题:

添加外部静态文件(css、js、png…)春靴

澹台岳
2023-03-14

背景资料

我有一个spring boot应用程序,它有徽标。png文件添加到资源文件的静态文件夹中,该文件最终内置到执行中使用的jar文件中。

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

问题

但问题是,我需要更改应用程序每个实例的徽标。我无法将客户徽标嵌入到我的应用程序jar中。相反,我需要像我的应用程序一样保持它的外部性。财产。

目前,我所做的是检查文件logo.png在执行的jar的同一个文件夹中,如果excist,读取该文件,获取bas64数据并将其显示在img中标签

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

例如我需要按如下方式保存外部静态文件,并从我的视图中的URL访问html标记的hrefsrc属性。

小结

所需的文件夹结构

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

应该能够访问

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

共有2个答案

长孙玉泽
2023-03-14

WebMVCConfigureAdapter已弃用。从Spring靴2开始。您可以改用WebMVCConfiguer。

@Configuration
public class MediaPathConfig {
    // I assign filePath and pathPatterns using @Value annotation
    private String filePath = "/ext/**"; 
    private String pathPatterns = "/your/static/path/";

    @Bean
    public WebMvcConfigurer webMvcConfigurerAdapter() {
        return new WebMvcConfigurer() {
            @Override
            public void addResourceHandlers(ResourceHandlerRegistry registry) {
                if (!registry.hasMappingForPattern(pathPatterns)) {
                    registry.addResourceHandler(pathPatterns)
                            .addResourceLocations("file:" + filePath);
                }
            }
        };
    }
}
富辰阳
2023-03-14

您可以使用资源处理程序为外部文件提供服务,例如。

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

}
 类似资料:
  • 动态的 web 应用也需要静态文件,一般是 CSS 和 JavaScript 文件。理想情况下你的 服务器已经配置好了为你的提供静态文件的服务。在开发过程中, Blade 也能做好这个工作。我们在 resources 目录下创建一个名为 static 的文件夹存储静态资源文件,静态文件位于 应用的 /static 中。 Blade 默认设置了 static、assets、webjars、uploa

  • 学习JSP,遇到CSS/JS内容无法加载的问题。我有一个jsp页面,在那里我有使用标准html链接和脚本标记引用的引导css和js: 它们都不起作用,Chrome在控制台上给了我以下内容: 如果我使用include指令,它适用于css,但会将所有内容拉入文件: jsp具有以下@page和元标记:

  • 本文向大家介绍JS加载器如何动态加载外部js文件,包括了JS加载器如何动态加载外部js文件的使用技巧和注意事项,需要的朋友参考一下 今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js JsLoader.js测试 测试结果如下:

  • 问题内容: 我正在开发Web应用程序。我正在使用AngularJS将所有文件动态加载到UI中。 我有一个文件,可在单击或加载时将所有文件动态加载到其中。 现在我的登录页面看起来像下面的结构 现在我的问题是,尽管我能够加载手风琴的menu.html文件,但是却无法加载它所依赖的css和js文件。我已经研究了stackoverflow,但是没有一个对我有用。 任何人都可以帮助确定使用AngularJS

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案: 请仔

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我正在请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案: