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

BIRT报告:使用行值作为Java方法的参数,java,birt,Java,Birt,我在表中有一个数据单元,其表达式如下: Messages.getString( ServiceConfigHandler.getInstance().getStatusDesc(row["STATUS"]), reportContext.getLocale()) row["STATUS"] 我在DataSet beforeOpen()脚本子句中进行了正确的包导入 该表达式应该采用行[“STATUS”]值从列表中获取描述值,然后根据区域设置获取字符串值。问题是,当我尝试运行报

我在表中有一个数据单元,其表达式如下:

Messages.getString(
    ServiceConfigHandler.getInstance().getStatusDesc(row["STATUS"]), 
    reportContext.getLocale())
row["STATUS"]
我在DataSet beforeOpen()脚本子句中进行了正确的包导入

该表达式应该采用行[“STATUS”]值从列表中获取描述值,然后根据区域设置获取字符串值。问题是,当我尝试运行报表时,会出现nullPointerException

如果我使用以下表达式:

Messages.getString(
    ServiceConfigHandler.getInstance().getStatusDesc(row["STATUS"]), 
    reportContext.getLocale())
row["STATUS"]
或者如果在原始表达式中使用静态值

Messages.getString(
    ServiceConfigHandler.getInstance().getStatusDesc("60"), 
    reportContext.getLocale())
报告正常执行,不会引发nullPointerException。第一个获取字符串形式的数字,第二个获取状态号的所需描述

有人能帮忙吗

编辑:我对XML解析有问题,因为状态从XML文件读取一次并存储在应用程序范围的映射中。重新启动应用程序,应用程序正常工作。

重新“重新启动应用程序,应用程序正常工作”-因此您不再寻找答案?重新“重新启动应用程序,应用程序正常工作”-因此您不再寻找答案?