我想为报表参数添加一个默认值javascript,所以我做了以下(在eclipse birt设计器中):

我遇到的问题是:当我部署应用程序(包含报告)时,不会评估javascript:
但是,当我在birt报告设计器中预览报告时,它会评估javascript默认值:

这是我使用的代码(过滤只有相关的东西):
IReportRunnable design = getReportRunnable(pathToTemplate);
IRunAndRenderTask task = _birtReportEngine.createRunAndRenderTask(design);
task.setRenderOption(options);
task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, ReportEngine.class.getClassLoader());
task.setParameterValues(parameters);
task.validateParameters();
task.run();
Run Code Online (Sandbox Code Playgroud)
问题是:我错过了什么吗?我应该在某处添加一个强制评估默认javascript表达式的选项吗?
小智 6
您显示的代码是用于创建和呈现报告的代码,但它不是用于显示参数表单的代码.
您使用的是Birt-Webviewer还是自行开发的Web应用程序?
在后一种情况下,如果您检索每个默认参数值org.eclipse.birt.report.engine.api.IScalarParameterDefn.getDefaultValue(),则不会评估javascript表达式.
要获得带有表达式求值的默认参数值,必须使用引擎任务IGetParameterDefinitionTask和方法org.eclipse.birt.report.engine.api.IGetParameterDefinitionTask.getDefaultValue(IParameterDefnBase arg0).