【问题标题】:Accessing Static Resources in springBoot [duplicate]在springBoot中访问静态资源[重复]
【发布时间】:2018-09-06 04:47:17
【问题描述】:

我正在尝试访问位于 SPRINGBOOT 中的静态文件夹 (resources/static/images) 下的图像。

现在我想获取图像PATH,但得到空指针异常。

 parameters.put(
            "imageLink",
            getClass().getResource("images/header.png").toString());

【问题讨论】:

  • 但在上述问题中,我明确提到我已将图像放在静态文件夹中,这就是问题所在。如果我确实喜欢,那么我的问题是重复的。我不想知道如何在碧玉报告中放置图像。请仔细阅读我的问题。

标签: java spring-boot


【解决方案1】:

您可以直接在报告中引用图片:

<image>
    <reportElement x="0" y="0" width="150" height="60"/>
    <imageExpression><![CDATA["static/images/header.png"]]></imageExpression>
</image>

或者通过参数将其作为Image 实例传递到报告中:

BufferedImage image = ImageIO.read(getClass().getResource("/static/images/header.png"));
parameters.put("header", image);

并像这样在报告中使用它:

<image>
    <reportElement x="0" y="0" width="150" height="60"/>
    <imageExpression><![CDATA[$P{header}]]></imageExpression>
</image>

其中header 报告中的参数类为Object


或者将其作为URL 实例传递:

URL headerUrl = getClass().getResource("/static/images/header.png");
parameters.put("header", headerUrl);

其中header 报告中的参数类为URL

<parameter name="header" class="java.net.URL" isForPrompting="false">
    <defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>

那么image 元素中的imageExpression 与前面的示例相同。

【讨论】:

    猜你喜欢
    • 2018-09-21
    • 2012-11-05
    • 2012-02-10
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    相关资源
    最近更新 更多