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