【问题标题】:Spring boot not loading images from src/main/resources path into jspSpring Boot 未将 src/main/resources 路径中的图像加载到 jsp 中
【发布时间】:2017-12-03 03:14:48
【问题描述】:

我里面有一个图片文件

enter image description here

这是我在 Configuration 类中的配置。

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
        "classpath:/META-INF/resources/", "classpath:/resources/**",
        "classpath:/static/**", "classpath:/public/" };


public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**").addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS);

在Jsp里面我无法加载div标签下的图片

<div id="image">
        <p>
            <img src="/images/reviewCount.jpg" width="600" height="400" border="0" usemap="#chart">
        </p>

我试过了

1) 提供绝对路径,如 src/main/resources/static/images/reviewCount.jpg

2)src="{/images}/reviewCount.jpg"

这两种方法都融入了葡萄酒中。

任何能有所启发的人将不胜感激。

TIA。

问候 维诺德

【问题讨论】:

    标签: java html jsp spring-boot


    【解决方案1】:

    Spring Boot 自动映射资源中的静态文件夹以提供静态内容。就放这样的图片:

    【讨论】:

    • 嗨,Igor,如果您看到我的屏幕截图,我已经在静态文件夹中有图像,但是如何在 jsp 中提供相同的路径来呈现该图像是我的问题。
    • 您不必更改 JSP 文件中的任何内容。使用相同的路径。
    【解决方案2】:

    您必须将所有images, css, js 文件放在您的webapp 文件夹中。即webapp/resources

    如果您将应用程序打包为 jar,则不要使用 src/main/webapp 这仅适用于 war 打包,如果您生成 jar,大多数构建工具将忽略它。

    默认情况下,在 Spring Boot 中,资源映射到 /**,但您可以通过 spring.mvc.static-path-pattern 调整它。例如,将所有资源重定位到/resources/**,可以如下实现:

    spring.mvc.static-path-pattern=/resources/**
    

    阅读更多来自here

    【讨论】:

    • 嗨 Jobin 我同意你的看法,但此时我不想更改文件夹结构
    • 更新了答案,第二个选项对你有用。
    • 很抱歉没听懂?
    • 我的情况是尝试将spring.mvc.static-path-pattern=/resources/static/** 添加到您的application.properties
    • 让我试试这个,因为我有旧的 spring boot 版本不支持这个注释。我会升级并让你发布。谢谢你的回复
    【解决方案3】:

    这是一个错字。您在 static/images 文件夹中有 reviewCount.png 并且您从 div 标签引用 reviewCount.jpg。

    【讨论】:

      猜你喜欢
      • 2017-08-24
      • 2017-02-05
      • 2020-07-24
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 2014-06-26
      • 1970-01-01
      相关资源
      最近更新 更多