Import 访问/导入jrxml中的用户定义类

Import 访问/导入jrxml中的用户定义类,import,jasper-reports,Import,Jasper Reports,是否有人尝试在jasper报表(.jrxml文件)中导入用户定义的类? 我想在jasper报告中使用一些(用户定义的)Util类来制作一些bean属性。我正在使用Javabean数据源 如果您需要进一步的澄清,请告诉我 导入类的语法是 <import value="java.util.HashMap"/> 您必须在iReport中设置类路径。它取决于它的版本,但通常在设置/Classpath下,我想我应该在问这个问题之前充分尝试 除此之外,没有什么额外的需要 jrxml中有两个部分

是否有人尝试在jasper报表(.jrxml文件)中导入用户定义的类? 我想在jasper报告中使用一些(用户定义的)Util类来制作一些bean属性。我正在使用Javabean数据源

如果您需要进一步的澄清,请告诉我

导入类的语法是

<import value="java.util.HashMap"/>

您必须在iReport中设置
类路径。它取决于它的版本,但通常在
设置/Classpath

下,我想我应该在问这个问题之前充分尝试

除此之外,没有什么额外的需要 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>

谢谢

好吧,那它应该就行了。编译器告诉您什么?net.sf.jasperreports.engine.JRException:从bean检索字段值时出错:WireServiceUtil.getLinkedWires(wireRelationships)。。。。原因:java.lang.NoSuchMethodException:未知属性“WireServiceUtil”。为了进一步说明这一点,“WireServiceUtil”包含在jrxml所在的另一个jar中。但这是在课堂上,这很奇怪。它应该会起作用。尝试在编译的类中导入WireServiceUtil。还要检查传递给方法的变量是否真的存在?你是如何编译它们的?罐子在tomcat中爆炸是很奇怪的事+1.自我学习。在这种情况下,你会发现使用iReport有多好。是的。。我喜欢我的报告。但不幸的是,它不适用于我的javabean数据源。由于一些未知的原因,它不允许我创建javabean数据源。我得到的是“一般异常:Null”。除了用于字段的普通getter/setter之外,我的javabean中还有字段enum。字段枚举与java反射类似,用于在需要时以编程方式访问字段名。它比反射更快。嗯,也许你可以问另一个关于数据源问题的问题?预编译是一种更好的方法(以防不动态生成)
<field name="myVar" class="java.lang.String">
     <fieldDescription><![CDATA[MyUtil.cook(myData)]]>
     </fieldDescription>
</field>
<textField>
    <reportElement x="200" y="0" width="100" height="13"/>
    <textElement/>
    <textFieldExpression class="java.lang.String">
         <![CDATA[MyUtil.cook($F{myVar})]]>
    </textFieldExpression>
</textField>