java.lang.NullPointerException:参数msg不能为空

时间:2015-03-16 12:13:30

标签: jasper-reports ireport barcode4j

在尝试将条形码放入Ireport的报告中时,我遇到了这个奇怪的错误。

我已经创建了一个名为'msg'的参数,但我一直收到此错误。这个问题到底是什么?

3 个答案:

答案 0 :(得分:1)

我将条形码提供程序更改为“烧烤”,一切正常。

答案 1 :(得分:0)

这个 java.lang.NullPointerException的主要原因:参数msg一定不能为空错误是因为很明显来自word本身的空指针异常。您的参数'msg'为null或没有值。一定要抓住它传递给它的价值。

答案 2 :(得分:0)

我遇到了同样的问题,据我所知,很多人都有同样的问题。我不擅长 Jasper,但这是我的解决方案。

原因:该问题是由于选项的打印时外观的条形码属性中没有值:表达式时打印。

解决方案:为条码值转换一个布尔值,如下所示:$F{BARCODE}.contains( $F{BARCODE} )

简短说明:根据我的理解,此值作为 MSG 参数传递给条形码生成器barcode4j。当为 null 时,它会按预期抛出异常。所以我们需要设置一个值。预期值是布尔类型。我有一个名为 BARCODE 的字段。所以我只是把上面的代码说检查条形码字符串是否有条形码字符串值。这就像在说 1=1 时。这将返回一个布尔值。因此,所有条件都满足。当该字段有值时,您将在输出中看到条形码。

为什么我对这个解决方案感到头疼,而不是用烤肉代替它:当我更改条形码类型时,格式发生了变化,使用输出的人只是不高兴,因为它在视觉上看起来不一样。所以我不得不使用barcode4j,我不得不解决这个问题。希望能帮助到你。干杯。