BIRT报告:使用Row值作为Java方法的参数

时间:2012-10-11 11:26:38

标签: java birt

我在表格中有一个数据单元格,其中包含以下表达式:

Messages.getString(
    ServiceConfigHandler.getInstance().getStatusDesc(row["STATUS"]), 
    reportContext.getLocale())

我在DataSet beforeOpen()脚本子句中进行了正确的包导入。

此表达式应该采用行[“STATUS”] 值从列表中获取描述值,然后根据语言环境获取字符串值。问题是当我尝试运行报告时,我得到一个nullPointerException。

如果我使用表达式:

row["STATUS"]

或者如果我在原始表达中使用静态值,如

Messages.getString(
    ServiceConfigHandler.getInstance().getStatusDesc("60"), 
    reportContext.getLocale())

报告正常执行,不会抛出nullPointerException。第一个获取数字作为字符串,第二个获取所需的状态编号描述。

有人可以帮忙吗?

编辑:我遇到了XML解析问题,因为状态是从xml文件中读取一次并存储在应用程序范围的映射中。重新启动应用程序,它可以工作。

0 个答案:

没有答案