我正在尝试将XML组内容(我使用XML作为数据源)作为参数传递给java方法,我需要在java类中获取此组,格式化标记信息(name1 + name2 + name3 ..... nameN)并将其返回给JRXML TextField。 我可以用一个简单的XML标签来做,但是当我尝试用组做它时,它在java方法中显示为null: 我的XML:
<Group1>
<Group2>
<Person>
<Name>John</Name>
</Person>
<Person>
<Name>Mary</Name>
</Person>
<Person>
<Name>Joseph</Name>
</Person>
</Group2>
</Gropup1>
我的JRXML字段声明:
<field name="group1.group2" class="java.lang.Object">
<fieldDescription><![CDATA[Group1/Group2]]></fieldDescription>
</field>
<field name="group1.group2.person" class="java.lang.Object">
<fieldDescription><![CDATA[Group1/Group2/Person]]></fieldDescription>
</field>
<field name="group1.group2.person.name" class="java.lang.String">
<fieldDescription><![CDATA[Group1/Group2/Person/Name]]></fieldDescription>
</field>
我的JRML textField Expression:
<textFieldExpression class="java.lang.String"><![CDATA[com.foo.report.MyReport.formatNames($F{group1.group2.person})]]></textFieldExpression>
我的方法签名: public static String formatNames(Object person){...}
调试“formatNames”方法,参数“person”显示为null。
如果我将textFieldExpression的参数更改为字段group1.group2,它也会显示为null。
如果我将textFieldExpression的参数更改为字段group1.group2.person.name,则会在java debug中显示String:“John”。
目标是将名称列表格式显示为:“John - Mary - Joseph”在textFieldExpression中,如果有人有其他办法,请告诉我。 谢谢