Java BIRT获取报告中所需参数的列表

Java BIRT获取报告中所需参数的列表,java,birt,Java,Birt,假设我有一个报告,在执行之前需要设置一些必需的参数。 若我在BIRT查看器中执行报告,将出现一个弹出窗口,要求输入所需的参数。 我使用BIRT API,我不想在我的应用程序中部署BIRT查看器。 如何以编程方式获取在执行报告之前需要设置的参数列表 或者换一种方式说,我如何通过编程知道在执行之前应该设置哪些参数 以及如何设置从用户处获得的报告值?我发现以下决定。 我们应该定义一个单独的任务: IGetParameterDefinitionTask taskGetParameters = engin

假设我有一个报告,在执行之前需要设置一些必需的参数。 若我在BIRT查看器中执行报告,将出现一个弹出窗口,要求输入所需的参数。 我使用BIRT API,我不想在我的应用程序中部署BIRT查看器。 如何以编程方式获取在执行报告之前需要设置的参数列表

或者换一种方式说,我如何通过编程知道在执行之前应该设置哪些参数


以及如何设置从用户处获得的报告值?

我发现以下决定。 我们应该定义一个单独的任务:

IGetParameterDefinitionTask taskGetParameters = engine
                .createGetParameterDefinitionTask(design);
之后,我们可以从该任务中获取参数迭代器:

Collection params = taskGetParameters.getParameterDefns(true);
        Iterator iter = params.iterator();
之后,我们可以迭代这些参数并获得它们的属性。我正在获取我在报表设计阶段定义的参数名称及其帮助文本,并在其中存储类型和默认值:

while (iter.hasNext()) {
            IParameterDefnBase param = (IParameterDefnBase) iter.next();
            System.out.println(param.getName() + ": " + param.getHelpText());
        }
然后我形成一个参数的Hashmap,key是name,value是value,并将其传递给IRunAndRenderTask:

HashMap<String, String> setParameters = new HashMap<String, String>();
//some code for adding parameters to the hashmap is here
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
task.setParameterValues(setParameters);
EXCELRenderOption options = new EXCELRenderOption();
options.setOutputFormat("csv");
options.setOutputFileName("output\\myxls.csv");
task.setRenderOption(options);
task.run();
task.close();
HashMap setParameters=newhashmap();
//下面是一些向hashmap添加参数的代码
IRunAndRenderTask task=engine.createrunandendertask(设计);
task.setParameterValues(setParameters);
EXCELRenderOption选项=新建EXCELRenderOption();
选项。setOutputFormat(“csv”);
options.setOutputFileName(“output\\myxls.csv”);
task.setRenderOption(选项);
task.run();
task.close();
我在这里省略了一些代码以避免大量文本,当然必须关闭引擎和所有BIRT资源以避免内存泄漏

如您所见,主要的一点是我们需要从一个任务中获取参数属性并传递给另一个任务

我发现了一些提示