Java 如何使用GET for JasperReports服务器发送映射参数?

Java 如何使用GET for JasperReports服务器发送映射参数?,java,jasper-reports,request,jasperserver,Java,Jasper Reports,Request,Jasperserver,JRXML: 我发现很少有类似的问题,并毫无疑问地尝试了他们的建议。在轮询jasper日志时,我可以推断使用符号Bla=创建java.lang.String的内容: http://IP/jasperserver/rest_v2/reports/NestedReport/printmap.html?Bla[0]=5 Bla[0]=5被忽略,因为我假设它尝试查找Bla[0]参数 为什么我认为这是可能的,因为它有识别数组列表参数的机制,例如,如果我执行param=bla1¶m=bla2,它将

JRXML:

我发现很少有类似的问题,并毫无疑问地尝试了他们的建议。在轮询jasper日志时,我可以推断使用符号Bla=创建java.lang.String的内容:

http://IP/jasperserver/rest_v2/reports/NestedReport/printmap.html?Bla[0]=5
Bla[0]=5被忽略,因为我假设它尝试查找Bla[0]参数

为什么我认为这是可能的,因为它有识别数组列表参数的机制,例如,如果我执行param=bla1¶m=bla2,它将创建arrayList并正确传递值。所以,若在映射的情况下,我执行Bla=hello&Bla=hiI,我将从列表中得到映射的强制转换异常

工作列表的参数类声明也作为类似java.util.List的接口公开,因此这里没有问题

是否有关于在GET请求中发送映射值的标准?或者参数识别通常仅仅是您使用的sideapi库公开的一个好处


当然,如果我要编写SpringMVC应用程序,这项任务将不会有任何问题,因为我可以为每个参数定义默认的解析规则,但这里我要说的是远程JasperReports服务器

您正在参数ans中发送字符串,试图在映射中获取它。这是不可能的。我可以自己读取异常,我已经解释了错误。发布您的java代码。你的问题很容易理解,没有Java代码。在这个测试用例中,有一个带有映射参数Bla的jrxml文件,有一个用于Chrome执行测试请求的rest客户端插件,它将由prod中的spring restClient触发到远程Jasper服务器,最后是Jasper服务器,在那里上传jrxml并重新创建报告单元。所以问题是,我不能在URL GET请求中为特定的报告单元执行编码映射值,我甚至不知道是否有这样的标准,或者是否有可能。如果你愿意挖掘,它将位于Jasper服务器API端,在那里我无可救药地丢失了atm。简而言之:环境就是你有Jasper服务器和你的应用程序,它只能通过REST与Jasper通信。因此,当您想要得到报告结果时,您发送请求,就像我所展示的一样,但它不允许我在轮询报告时对请求的映射值进行URL编码-我已经展示给您的500个内部服务器错误。
http://IP/jasperserver/rest_v2/reports/NestedReport/printmap.html?Bla[0]=5
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)