我在表格中有一个数据单元格,其表达式如下:
Messages.getString(
ServiceConfigHandler.getInstance().getStatusDesc(row["STATUS"]),
reportContext.getLocale())
我已经在 DataSet beforeOpen() 脚本子句中进行了正确的包导入。
该表达式应该使用row["STATUS"]值从列表中获取描述值,然后根据语言环境获取字符串值。问题是当我尝试运行报告时出现 nullPointerException。
如果我使用表达式:
row["STATUS"]
或者如果我在原始表达式中使用静态值,例如
Messages.getString(
ServiceConfigHandler.getInstance().getStatusDesc("60"),
reportContext.getLocale())
报告正常执行,没有抛出 nullPointerException。第一个得到我作为字符串的数字,第二个得到我想要的状态编号的描述。
有人可以帮忙吗?
编辑:我遇到了 XML 解析问题,因为状态是从 xml 文件中读取一次并存储在应用程序范围内的映射中。重新启动应用程序并且它可以工作。