首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JXLS动态网格抛出空NestedNullException

JXLS动态网格抛出空NestedNullException
EN

Stack Overflow用户
提问于 2017-04-09 08:23:11
回答 1查看 469关注 0票数 0

我使用这个文档示例作为参考,通过指定某些对象的标题、名称和所需的属性来创建动态网格。grid.html

但在我的例子中,Employee对象具有嵌套属性"adres.housenumber“。

代码语言:javascript
复制
public class Employee {
    private String name;
    private Date birthDate;
    private BigDecimal payment;
    private BigDecimal bonus;
    private Adres adres;
    // constructors and getters/setters
    .....
}

public class Adres {
   private String housenumber;
}

如果所有员工都有带有adreshousenumber,如果employee有adres,那么我得到了下面的例外:

由: bean类'class Employee‘上'adres.housenumber’的org.apache.commons.beanutils.NestedNullException:空属性值引起的 在org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:795) ~1.9.3.jar:1.9.3 在org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:884) ~1.9.3.jar:1.9.3 在org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:464) ~1.9.3.jar:1.9.3 在org.jxls.command.GridCommand.processBody(GridCommand.java:185) ~jxls-2.3.0.jar:? 在org.jxls.command.GridCommand.applyAt(GridCommand.java:137) ~jxls-2.3.0.jar:? 在org.jxls.area.XlsArea.applyAt(XlsArea.java:168) ~jxls-2.3.0.jar:? 在org.jxls.util.JxlsHelper.processGridTemplate(JxlsHelper.java:156) ~jxls-2.3.0.jar:?

此员工数据是从数据库中检索的,因此在传递到Excel导出之前,我无法对其进行修改。

有什么想法/帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 22:27:16

当有空属性集时,当GridCommand试图计算属性的属性时,会出现问题。所以Apache PropertyUtils (由GridCommand使用)抛出一个异常。

在示例中,Employee类中的属性adres为null,因此adres.housenumber的计算会抛出一个异常。

为了避免这种行为,您可以使用Iterable对象而不是bean。这样,GridCommand就不会计算道具,而只是向Iterable对象询问它的值。

我做这个项目是为了向你展示它是如何工作的。https://github.com/LucianoZu/jxlsnofault

您可以使用IterableWrapper类来包装Employee并避免异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43304606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档