我通过提供的Java引擎呈现我的BIRT报告。我使用这个库:
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>viewservlets</artifactId>
<version>4.5.0</version>
</dependency>
但是,我的报告参数是通过HTTP请求提供的,其中我指定了要使用的模板和报告参数。因此,当我从URL中检索它们时,我不再知道它们的类型,因为它们已转换为 String ,所以我想知道标量参数的类型在给定的报告模板中,为了将参数转换为具体类型。
IReportRunnable runnable = engine.openReportDesign(design);
IRunAndRenderTask task = engine.createRunAndRenderTask(runnable);
task.run();
由于我正在使用这段代码从模板呈现报告,是否有某种方法可以从IReportRunnable
或IRunAndRenderTask
检索标量参数类型?由于参数是在模板文件中声明的并且是XML文件,因此它们是可解析的,但是知道引擎API是否支持这一点会很好。
答案 0 :(得分:0)
刚刚发现它,但看起来有点棘手。我们需要在runnable元素上创建一个参数定义任务:
IReportRunnable runnable = engine.openReportDesign(design);
IGetParameterDefinitionTask paramTask = engine.createGetParameterDefinitionTask(runnable);
然后,我们通过参数名称访问定义,我们可以得到参数的类型值(即&#34; string&#34;):
paramTask.getParameterDefn("my_parameter_name").getHandle().getElement()
.getProperty(null, "dataType").toString();