如何使用GET为JasperReports Server发送地图参数?

时间:2014-07-11 11:55:59

标签: java jasper-reports request jasperserver

JRXML:

 <parameter name="Bla" class="java.util.Map"/>

报告单位执行是否可能?

http://IP/jasperserver/rest_v2/reports/NestedReport/printmap.html?Bla[0]=5

我发现很少有类似问题并且没有尝试过他们的建议。在轮询jasper日志时,我可以推断使用符号Bla=whatever创建java.lang.String投掷:

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
    at printMap_1405077234990_851152.evaluate(printMap_1405077234990_851152:169)
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:231)

Bla[0]=5被忽略,因为我假设它试图找到“Bla [0]”参数。

为什么我认为它是可能的,因为它具有识别数组列表参数的机制,例如,如果我param=bla1&param=bla2它将创建arrayList并正确传递值。因此,如果在地图中我做Bla=hello&Bla=hi,我将从List到Map获得强制转换。

工作列表的参数类声明也作为java.util.List之类的接口公开,所以这里没问题。

是否有关于在GET Request for Java中发送Map值的标准?或者参数识别通常只是您使用的辅助API库所暴露的好处?

当然,如果我要编写spring mvc app,这个任务根本不会有任何问题,因为我可以为每个参数定义默认的解析规则,但在这里我说的是远程 JasperReports Server

0 个答案:

没有答案