Jasper报告比较图像表达的日期不起作用

时间:2015-11-06 08:46:06

标签: jasper-reports

如何比较 JasperReports 中的日期?

我想使用“图像表达”。我试过但那不起作用

$P{current_date} <= $P{image_date} ? '1.jpg' : '2.jpg'
 $P{current_date}.after($P{image_date}) ? '1.jpg' : '2.jpg'
new Long($P{current_date}.getTime()) <= new Long($P{image_date}.getTime()) ? '1.jpg' : '2.jpg'

1 个答案:

答案 0 :(得分:0)

如果您有这些参数class="java.util.Date"

<parameter name="current_date" class="java.util.Date" isForPrompting="false">
        <defaultValueExpression><![CDATA[new java.util.Date()]]></defaultValueExpression>
</parameter>
<parameter name="image_date" class="java.util.Date">
        <defaultValueExpression><![CDATA[new java.util.Date()]]></defaultValueExpression>
</parameter>

此图像表达式将起作用

 <image>
    <reportElement x="139" y="13" width="223" height="93" uuid="fdb46643-77b6-4d23-a88c-7108b97c091f"/>
    <imageExpression><![CDATA[$P{current_date}.after($P{image_date}) ? "Full absolute path\\1.jpg" :"Full absolute path\\2.jpg"]]></imageExpression>
</image>

我认为您的问题很明显,即您将图像的相对路径提供给jasper报告...您需要将绝对路径提供给jasper报告es。 "C:\\Users\\Friberg\\Pictures\\1.jpg"

我还在代码中看到一些单',您需要使用"来返回路径的字符串值。

开发说明:路径中的\\是因为\是java中的转义字符