我在表格中有一个数据单元格,其中包含以下表达式:
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文件中读取一次并存储在应用程序范围的映射中。重新启动应用程序,它可以工作。