在springBoot中访问静态资源

时间:2018-09-06 04:47:17

标签: java spring-boot

我正在尝试访问位于AdapterOne a1 = AdapterOne.getInstance(); AdapterTwo a2 = AdapterTwo.getInstance(); ArrayList<Model> a1RetrievedList = a1.getList(); // You don't need to create a new instance // creating a new instance doesn't make sense // because you need to repopulate the list // for the new instance. ArrayList<Model> a2RetrievedList = a2.getList(); // You can also retrieve from AdapterTwo 中静态文件夹(资源/静态/图像)下的图像。

enter image description here

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

PATH

1 个答案:

答案 0 :(得分:2)

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

<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>

然后,imageExpression中的image与前面的示例相同。