是否可以在将报表参数(输入控件)传递给报表引擎之前以任何方式对其进行转换?
我举个例子。我使用 XML 作为数据源:
<Results>
<Object Id="0042" Val="dfg0bb" DateTime="2011-09-30T22:00:04Z" />
<Object Id="0097" Val="abf0cc" DateTime="2011-09-30T22:00:06Z" />
...
</Results>
这是我的 XPath 查询:
//Object[translate(translate(translate(translate(@DateTime, '-', ''), ':', ''), 'T', ''), 'Z', '') <= $P{dateTimeValue}]
字段说明如下:
@Id, @DateTime, @Val
这工作正常,我得到了我想要的,但是日期属性有点问题,因为我需要将它表示为一个数字进行比较。可以看出,我需要去除所有非数字字符,以便将日期作为纯数字进行比较(Java 中 XPath 1.0 的限制)。此外,我想在 JasperServer 中为此参数定义一个输入控件,并且我希望它是日期类型,因此用户可以从日历中进行选择。
那么,在将提供的参数传递给报告引擎之前,是否有任何方法(scriptlet 或其他东西)来转换它?(在这种情况下,日期为数值,因此 XPath 可以工作)