是否有人尝试在jasper报告(.jrxml文件)中导入用户定义的类? 我想在我的jasper报告中使用一些(用户定义的)Util类来烹饪一些bean属性。我正在使用Javabean数据源
如果您需要进一步澄清,请与我们联系。
导入类的语法是
<import value="java.util.HashMap"/>
我想用
<import value="mypackage.MyUtil" />
....
....
<field name="myVar" class="java.lang.String">
<fieldDescription><![CDATA[MyUtil.cook(myData)]]>
</fieldDescription>
</field>
MyUtil.java的简单定义可能是
package mypackage;
public class MyUtil
{
public static String cook(String data)
{
return data + "_cooked";
}
}
答案 0 :(得分:6)
我想在问这个问题之前我应该充分尝试过。
除此之外没有什么需要 jrxml中有两个部分: 1.从javabean源定义字段 2.使用步骤1中定义的字段填充详细信息带
中的值我试图在javabean成员用于创建字段之前烹饪它们的价值 因此,jasper试图将该“表达式”解析为javabean成员。
以下是错误的
<field name="myVar" class="java.lang.String">
<fieldDescription><![CDATA[MyUtil.cook(myData)]]>
</fieldDescription>
</field>
当我在字段值上使用Util类时,它可以工作。
<textField>
<reportElement x="200" y="0" width="100" height="13"/>
<textElement/>
<textFieldExpression class="java.lang.String">
<![CDATA[MyUtil.cook($F{myVar})]]>
</textFieldExpression>
</textField>
由于 Nayn
答案 1 :(得分:3)
您必须在iReport中设置classpath
。这取决于其版本,但通常在Settings/Classpath