Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JasperReports为源文本计算表达式时出错_Java_Jasper Reports - Fatal编程技术网

Java JasperReports为源文本计算表达式时出错

Java JasperReports为源文本计算表达式时出错,java,jasper-reports,Java,Jasper Reports,当我在JasperSoft Studio上测试报告时,它运行良好 但当我导出报告并在我的主项目上测试它时,我得到了以下错误: 计算源文本的表达式时出错: IF($F{jdpmarc}.equals(“”),new java.math.BigDecimal(0),$F{jdprit}) 我试过这些东西: 更改此表达式,因为它是BigDecimal操作 IF($F{jdpmarc}.equals(""), 0,$F{jdpprit}) 为此 IF($F{jdpmarc}.equals(""),n

当我在JasperSoft Studio上测试报告时,它运行良好

但当我导出报告并在我的主项目上测试它时,我得到了以下错误:

计算源文本的表达式时出错: IF($F{jdpmarc}.equals(“”),new java.math.BigDecimal(0),$F{jdprit})

我试过这些东西:

更改此表达式,因为它是BigDecimal操作

IF($F{jdpmarc}.equals(""), 0,$F{jdpprit})
为此

IF($F{jdpmarc}.equals(""),new java.math.BigDecimal(0),$F{jdpprit})
这是我的代码:

Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/db","user", "password");

    HashMap<String, Object> data = new HashMap<String, Object>();
    data.put("Proforma", 67929);

    String reportPath = "ReporteIva.jasper";

    JasperPrint report = JasperFillManager.fillReport(reportPath, data, conn);

    JasperViewer viewer = new JasperViewer(report);
    viewer.setVisible(true);
Connection conn=(连接)DriverManager.getConnection(“jdbc:mysql://localhost:3306/db“,”用户“,”密码“);
HashMap数据=新的HashMap();
数据。投入(“形式”,67929);
字符串reportPath=“ReporteIva.jasper”;
JasperPrint report=JasperFillManager.fillReport(reportPath,data,conn);
JasperViewer=新的JasperViewer(报告);
viewer.setVisible(true);

尝试使用三元运算符

$F{jdpmarc}.equals("") ? new java.math.BigDecimal(0) : $F{jdpprit}

使用三元运算符instead@DavidSantos您应该发布小而完整的jrxml和完整的stacktraceMake,确保在应用程序的类路径上有一个jasperreports函数jar。如果您有jar,发布完整的异常stacktrace(包括由..行引起的异常)。给出的错误是因为我使用的是表达式