Jasper reports 如何在没有java的情况下使用值填充列表?-JRXML还是REST
我想看看如何在不使用java的情况下填充list参数?这可能吗 错误:Jasper reports 如何在没有java的情况下使用值填充列表?-JRXML还是REST,jasper-reports,jasperserver,Jasper Reports,Jasperserver,我想看看如何在不使用java的情况下填充list参数?这可能吗 错误: <parameter name="Bla" class="java.util.List" isForPrompting="false"> <defaultValueExpression><![CDATA[new ArrayList<String>() {{ add("A");}}]]></defaultValueExpression> <
<parameter name="Bla" class="java.util.List" isForPrompting="false">
<defaultValueExpression><![CDATA[new ArrayList<String>() {{ add("A");}}]]></defaultValueExpression>
</parameter>
“报告”是报告名称
它仅在我不指定内联值时有效,如:
java.lang.NoClassDefFoundError: report_1405012032235_427203 (wrong name: report_1405012032235_427203$3)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClass(JRClassLoader.java:339)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassFromBytes(JRClassLoader.java:263)
at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:102)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:340)
at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:378)
at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:462)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:405)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:89)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:104)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:62)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
at net.sf.jasperreports.engine.fill.BaseFillHandle.<init>(BaseFillHandle.java:75)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.<init>(AsynchronousFillHandle.java:98)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.<init>(AsynchronousFillHandle.java:87)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.createHandle(AsynchronousFillHandle.java:189)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler$4.run(ReportControler.java:330)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
我在Jasper服务器上,所以我想了解如何填充此类参数的值
即使使用defaultValueExpression,我也会很高兴,因为它可以在内部创建和添加值。如果您能够超越并演示如何为此类jrxml的报告单元执行rest调用,我将奖励额外的代表。请尝试以下代码:
new ArrayList<String>()
可以使用java和默认表达式初始化列表参数:
<parameter name="Bla" class="java.util.List" isForPrompting="false">
<defaultValueExpression><![CDATA[new ArrayList<String>().add(new String("A"))]]></defaultValueExpression>
</parameter>
请注意,在报告中使用时必须添加足够的值,否则将出现索引外异常
<parameter name="paramName" class="java.util.List" isForPrompting="false">
<defaultValueExpression><![CDATA[Arrays.asList(new String[]{"value0","value1","value2"})]]></defaultValueExpression>
</parameter>