gpt4 book ai didi

java - 在 JasperReport 表达式中使用和/或

转载 作者:行者123 更新时间:2023-11-29 10:06:08 26 4
gpt4 key购买 nike

我想在 JasperReport 表达式中使用和/或我尝试了以下但它不起作用:

($P{pId} == $F{id1}) or
($P{pId} == $F{id2} and F{return}=true)
? "good" : "bad"

但我遇到以下异常:

Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@1c9f37d  net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, calculator_report1_1318247835062_860381: 191: unexpected token: or @ line 191, column 144. 1 error      at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:88)     at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)     at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)     at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131)     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:509)     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

我得到这个异常的任何想法以及如何解决它。

最佳答案

andor 不是有效的 Java 运算符。 JasperReports 使用 Java 表达式。由于所有 Jasper 参数和字段都是对象,我怀疑您是否想将它们与 == 进行比较。请改用等号。

($P{pId}.equals($F{id1}) ||
($P{pId}.equals($F{id2}) && F{return}.booleanValue()))
? "good" : "bad"

关于java - 在 JasperReport 表达式中使用和/或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com