我正在尝试将一个简单的 .gif 图像从我的 GXT 应用程序提供给 jasper,以便它生成一个 Excel 报告。
我遇到的问题是,在尝试了多种选择之后,我总是在服务器端得到“java.lang.NullPointerException”。
我的 Jasper 报告中有以下代码:
<parameter name="logo" class="java.lang.String"/>
...
<image>
<reportElement uuid="2f9765a4-f1dc-4af4-9ddf-fae1c7a3d152" x="110" y="0" width="206" height="40"/>
<imageExpression><![CDATA[$P{logo}]]></imageExpression>
</image>
和Java代码:
FileResolver fileResolver = new FileResolver() {
@Override
public File resolveFile(String fileName) {
URI uri;
try {
uri = new URI(this.getClass().getResource(fileName).getPath());
return new File(uri.getPath());
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
};
parameters.put("logo", fileResolver.resolveFile("logo.GIF"));
我已经尝试了几种解决方案,但都遇到了问题。
logo.gif 放置在已编译的 GWT 应用程序的 .war 文件夹中,其内容被归档为 .war 并部署在 Tomcat 7.0 服务器上。
希望有更多经验的人能帮助我,让我知道我做错了什么。