我们正在 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" }
}
我该怎么办?
答案 0 :(得分:0)
定义变量并将其用作集合名称的值,如下所示。
{
collectionName : $V{myCollectionNameParam}
}
然后在你的报告设计中;将以上使用的变量值定义如下。
"abc.xyz." + $P{ID}