如何在JasperReports MongoDB查询中将参数值连接到字符串?

时间:2015-01-22 11:12:56

标签: mongodb jasper-reports parameter-passing

我们正在 JasperReports Server 中创建主题,这些主题基本上是在 iReport Jaspersoft Studio 中创建的空白报告,方法是在表单中指定查询:

{
collectionName: "collectionName"
}

我的问题是我的收藏品以格式存储 abc.xyz.<ID> ID字段确定集合的ID。

所以我的查询应该参数化,应该看起来像:

{
collectionName: "abc.xyz." + $P{ID}
}

其中$P{ID}是传递给报告的参数。

现在的问题是Jasper没有评估连接,即使我给它一个默认值。所以我的查询最终看起来像

{
collectionName: "abc.xyz." + "idtwo"
}

而我希望它看起来像

{
collectionName: "abc.xyz.idtwo"
}

导致 JR服务器向我报告错误

java.lang.RuntimeException: exception getting dataset from cache

Caused by: com.mongodb.util.JSONParseException: { collectionName: "abc.xyz." + "idtwo" }
}

我该怎么办?

1 个答案:

答案 0 :(得分:0)

定义变量并将其用作集合名称的值,如下所示。

{
    collectionName : $V{myCollectionNameParam}
}

然后在你的报告设计中;将以上使用的变量值定义如下。

"abc.xyz." + $P{ID}