Jasper reports 如何在没有java的情况下使用值填充列表?-JRXML还是REST

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> <

我想看看如何在不使用java的情况下填充list参数?这可能吗

错误:

<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>