使用JasperReports API从bean异常检索字段值时出错

萨钦·维玛(Sachin Verma)

我正在尝试获取JasperReports生成的示例报告,但是它引发了一些我无法理解的异常。

我有一个豆:

class DataBean {

    public String country;
    public String name;

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

一个产生上述bean列表的类:

class DataBeanList {
    public ArrayList<DataBean> getDataBeanList() {
        ArrayList<DataBean> dataBeanList = new ArrayList<DataBean>();
        dataBeanList.add(produce("Manisha", "India"));
        dataBeanList.add(produce("Dennis Ritchie", "USA"));
        dataBeanList.add(produce("V.Anand", "India"));
        dataBeanList.add(produce("Shrinath", "California"));
        return dataBeanList;
    }

    private DataBean produce(String name, String country) {
        DataBean dataBean = new DataBean();
        dataBean.setName(name);
        dataBean.setCountry(country);
        return dataBean;
    }
}

这就是我在做什么:

public static void main(String[] args) throws Exception {
    String sourceFileName = "/home/oodles/Samples/jasper_report_template.jasper";
    DataBeanList DataBeanList = new DataBeanList();
    ArrayList<DataBean> dataList = DataBeanList.getDataBeanList();
    System.out.println("<<<" + dataList.get(0).getCountry());
    JasperReportBuilder report = DynamicReports.report();
    JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(dataList, false);
    report.setDataSource(beanColDataSource);
    Map parameters = new HashMap();
    try {
        JasperFillManager.fillReportToFile(sourceFileName, parameters,
                beanColDataSource);
    } catch (JRException e) {
        e.printStackTrace();
    }
}

异常如下:

    net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : country
    at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)
    at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96)
    at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100)
    at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1331)
    at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1232)
    at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1208)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1554)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
    at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:542)
    at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:494)
    at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:874)
    at com.general.ReportsMain.main(ReportsMain.java:80)
Caused by: java.lang.NoSuchMethodException: Property 'country' has no getter method in class 'class com.general.DataBean'
    at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1318)
    at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:762)
    at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837)
    at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426)
    at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111)
    ... 15 more

如果您需要查看.jasper文件源:
我仅附加字段以仅在此处显示有意义的代码:

<field name="country" class="java.lang.String">
    <fieldDescription><![CDATA[country]]></fieldDescription>
</field>
<field name="name" class="java.lang.String">
    <fieldDescription><![CDATA[name]]></fieldDescription>
</field>
萨钦·维玛(Sachin Verma)

最后,我弄清楚了您需要做些什么以避免任何异常:

您可以在其他包中访问您的数据源以从中提取数据,并且如果您的数据源的bean不是公共的,则无法访问该类。
因此,您需要将您的类公开(bean类)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JasperReports API从bean异常检索字段值时出错

来自分类Dev

net.sf.jasperreports.engine.JRException:从bean检索字段值时出错:First_name

来自分类Dev

使用JasperReports API生成报告时,无法从JavaBean检索值

来自分类Dev

JasperReports:使用定界符分割字符串值

来自分类Dev

使用 jasperreports Java bridge 和 symfony 时的问题

来自分类Dev

从bean检索字段值时出错

来自分类Dev

使用“BETWEEN”检索字段时出错

来自分类Dev

JasperReport iReport:JRException:从bean检索字段值时出错

来自分类Dev

使用 Stack Exchange API 检索多个 ID 时出错

来自分类Dev

JasperReport:JRException:从bean检索字段值时出错(嵌套bean问题)

来自分类Dev

使用反射获取字段的值时获取异常

来自分类Dev

使用JasperReports从JSON填充报告

来自分类Dev

JasperReports:获取JRRuntimeException:创建SAX解析器时出错

来自分类Dev

Getting Error retrieving field value from bean Exception with JasperReports API

来自分类Dev

如何使用JasperReports生成HTML报告流?

来自分类Dev

如何在Spring MVC中使用JasperReports?

来自分类Dev

在Linux上使用JasperReports损坏Excel文件

来自分类Dev

如何使用JasperReports(6. *)解决LinkageError?

来自分类Dev

JasperReports:使用公式导出xls / ods文件

来自分类Dev

在 python 中使用异常处理时出错

来自分类Dev

在jasperreports 3.5.3中找不到字段

来自分类Dev

Angular 8应用程序在使用router.navigate时无法检索表单字段值

来自分类Dev

使用JavaScript将默认值传递给null字段时出错?

来自分类Dev

使用mongo Java Driver 3.0从Mongo集合中获取字段的不同值时发生异常

来自分类Dev

使用Selenium选择输入字段时出错

来自分类Dev

使用Java API从ElasticSearch检索复杂字段

来自分类Dev

使用@Required和@Autowired时创建bean时出错

来自分类Dev

在JasperReports Server呈现图表时获取“无法从未定义的属性读取“长度”的异常”异常

来自分类Dev

从Google API检索距离和行驶时间值时出错()

Related 相关文章

  1. 1

    使用JasperReports API从bean异常检索字段值时出错

  2. 2

    net.sf.jasperreports.engine.JRException:从bean检索字段值时出错:First_name

  3. 3

    使用JasperReports API生成报告时,无法从JavaBean检索值

  4. 4

    JasperReports:使用定界符分割字符串值

  5. 5

    使用 jasperreports Java bridge 和 symfony 时的问题

  6. 6

    从bean检索字段值时出错

  7. 7

    使用“BETWEEN”检索字段时出错

  8. 8

    JasperReport iReport:JRException:从bean检索字段值时出错

  9. 9

    使用 Stack Exchange API 检索多个 ID 时出错

  10. 10

    JasperReport:JRException:从bean检索字段值时出错(嵌套bean问题)

  11. 11

    使用反射获取字段的值时获取异常

  12. 12

    使用JasperReports从JSON填充报告

  13. 13

    JasperReports:获取JRRuntimeException:创建SAX解析器时出错

  14. 14

    Getting Error retrieving field value from bean Exception with JasperReports API

  15. 15

    如何使用JasperReports生成HTML报告流?

  16. 16

    如何在Spring MVC中使用JasperReports?

  17. 17

    在Linux上使用JasperReports损坏Excel文件

  18. 18

    如何使用JasperReports(6. *)解决LinkageError?

  19. 19

    JasperReports:使用公式导出xls / ods文件

  20. 20

    在 python 中使用异常处理时出错

  21. 21

    在jasperreports 3.5.3中找不到字段

  22. 22

    Angular 8应用程序在使用router.navigate时无法检索表单字段值

  23. 23

    使用JavaScript将默认值传递给null字段时出错?

  24. 24

    使用mongo Java Driver 3.0从Mongo集合中获取字段的不同值时发生异常

  25. 25

    使用Selenium选择输入字段时出错

  26. 26

    使用Java API从ElasticSearch检索复杂字段

  27. 27

    使用@Required和@Autowired时创建bean时出错

  28. 28

    在JasperReports Server呈现图表时获取“无法从未定义的属性读取“长度”的异常”异常

  29. 29

    从Google API检索距离和行驶时间值时出错()

热门标签

归档