我正在尝试传递给 jasper 报告字符串位置的模板。所以我在模板和值中传递参数的键。当我的项目中有图像时,一切正常,但我想把它放在另一个地方。有没有办法从例如属性文件中读取参数?我不知道为什么这个解决方案不起作用:

我的形象:

<parameter name="imagesDir" class="java.lang.String" isForPrompting="false"/>

...
<image isLazy="true">
    <reportElement key="image-1" style="PHLabel" x="0" y="0" width="160" height="33"/>
    <imageExpression class="java.lang.String"><![CDATA["$P{imagesDir}"+"logo.bmp"]]></imageExpression>
</image>

错误:
Error during exporting report statement_account_10 to PDF.
net.sf.jasperreports.engine.JRException: Byte data not found at :
((java.lang.String)parameter_imagesDir.getValue())logo.bmp

最佳答案

好吧我找到了...
应该:

<image isLazy="true">
    <reportElement key="image-1" style="PHLabel" x="0" y="0" width="160" height="33"/>
    <imageExpression class="java.lang.String"><![CDATA[$P{imagesDir}+"logo.bmp"]]></imageExpression>
</image>

关于java - net.sf.jasperreports.engine.JRException : Byte data not found,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27174786/

10-10 04:24