<parameter name="Bla" class="java.util.List" isForPrompting="false">
<defaultValueExpression><![CDATA[new ArrayList<String>() {{ add("A");}}]]></defaultValueExpression>
</parameter>
我想看看如何在不使用java的情况下填充list参数?这可能吗?
错误:
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)
&#39;报告&#39;是报告名称。
仅当我没有指定内联值时才有效:
new ArrayList<String>()
我在Jasper Server上非常有效,我想了解如何填充此类参数的值。
即使使用defaultValueExpression创建并添加值,我也会很高兴。如果你可以超越并展示如何为这样的jrxml做报告单位的休息,我会奖励额外的代表。
答案 0 :(得分:0)
请尝试以下代码:
<parameter name="Bla" class="java.util.List" isForPrompting="false">
<defaultValueExpression><![CDATA[new ArrayList<String>().add(new String("A"))]]></defaultValueExpression>
</parameter>
答案 1 :(得分:0)
您可以使用带有默认表达式的java初始化list参数:
<parameter name="paramName" class="java.util.List" isForPrompting="false">
<defaultValueExpression><![CDATA[Arrays.asList(new String[]{"value0","value1","value2"})]]></defaultValueExpression>
</parameter>
请注意,您必须在报告中使用时添加足够的值,否则您将获得超出索引的异常。