Nay*_*ayn 3 import jasper-reports
有人试图在jasper报告(.jrxml文件)中导入用户定义的类吗?我想在我的jasper报告中使用一些(用户定义的)Util类来烹饪一些bean属性.我正在使用Javabean数据源
如果您需要进一步说明,请与我们联系.
导入类的语法是
<import value="java.util.HashMap"/>
Run Code Online (Sandbox Code Playgroud)
我想用
<import value="mypackage.MyUtil" />
....
....
<field name="myVar" class="java.lang.String">
<fieldDescription><![CDATA[MyUtil.cook(myData)]]>
</fieldDescription>
</field>
Run Code Online (Sandbox Code Playgroud)
MyUtil.java的简单定义可能是
package mypackage;
public class MyUtil
{
public static String cook(String data)
{
return data + "_cooked";
}
}
Run Code Online (Sandbox Code Playgroud)
我想在问这个问题之前我应该充分尝试过.
除了jrxml中有两个部分之外没有什么需要:1.从javabean源定义字段2.使用步骤1中定义的字段填充详细信息带中的值
我甚至在用它们创建字段之前就试图烹饪javabean成员的价值所以,jasper试图将这个'表达式'解析为javabean成员.
以下是错误的
<field name="myVar" class="java.lang.String">
<fieldDescription><![CDATA[MyUtil.cook(myData)]]>
</fieldDescription>
</field>
Run Code Online (Sandbox Code Playgroud)
当我在字段值上使用Util类时,它工作正常.
<textField>
<reportElement x="200" y="0" width="100" height="13"/>
<textElement/>
<textFieldExpression class="java.lang.String">
<![CDATA[MyUtil.cook($F{myVar})]]>
</textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
谢谢Nayn