単純な.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としてアーカイブされ、Tomcat7.0サーバーにデプロイされます。
うまくいけば、もう少し経験のある人が私を助けてくれて、私が間違っていることを教えてくれます。