Почему значение javascript по умолчанию для параметра отчета BIRT не оценивается в развернутом веб-приложении? - PullRequest
1 голос
/ 21 ноября 2011

Я хочу добавить значение по умолчанию в виде javascript для параметра отчета, поэтому я сделал следующее (в конструкторе birt eclipse):

reportDesignerAddParameter

Проблема, с которой я столкнулся: при развертывании приложения (содержащего отчет) JavaScript не оценивается: webpageReportParamsJavascriptInDefaultValueNotEvaluated

Однако при предварительном просмотре отчета в дизайнере отчетов Birt он оценивает значение по умолчанию для JavaScript:

birtViewerJavascriptIsEvaluated

Вот код, который я использую (отфильтрованный, чтобы иметь только соответствующие данные):

  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();

Вопрос: я что-то упустил? Должен ли я добавить опцию куда-нибудь, которая заставляет вычислять выражение javascript по умолчанию?

1 Ответ

6 голосов
/ 21 ноября 2011

Код, который вы показываете, - это код для создания и отображения отчета, но не код для отображения формы параметра.

Используете ли вы Birt-Webviewer или самостоятельно разработанное веб-приложение?

В последнем случае, и если вы извлекаете значения параметров по умолчанию для org.eclipse.birt.report.engine.api.IScalarParameterDefn.getDefaultValue(), выражение javascript не будет оцениваться.

Чтобы получить значения параметров по умолчанию с оцененными выражениями, необходимо использовать задачу двигателя IGetParameterDefinitionTaskа там метод org.eclipse.birt.report.engine.api.IGetParameterDefinitionTask.getDefaultValue(IParameterDefnBase arg0).

...