Как передать значение даты в отчет BIRT через строку запроса - PullRequest
2 голосов
/ 14 июня 2010

Я сделал статическую html-страницу (называемую start.jsp), содержащую форму, в которой пользователь выбирает 2 диапазона дат, и эта форма имеет средства выбора даты для этих текстовых полей. Когда пользователь отправляет форма, это должно взять их в отчет BIRT, который я разработал. Должно передать 2 параметра, которые нужны моему отчету (дата начала и дата окончания).

Вот строка запроса, которая добавляется к URL birt-viewer / run__report = Business_Activity_Monitoring.rptdesign & FilterStartDate = 2000-01-01 & FilterEndDate = 2009-01-01

Я получаю неверную дату: org.eclipse.birt.report.exception.ViewerValidationException: параметр FilterStartDate недопустим. Значение "06-08-2010" недопустимо с типом "dateTime".

Почему после полного удаления строки запроса BIRT предложит мне ввести дата начала и окончания (скриншот прилагается). Я ввожу те же данные, которые пытается отправить форма, и она работает!?

Это доказывает, что моя строка даты правильно отформатирована, но она не примет их, если они отправляются в отчет BIRT через строку запроса? Похоже, у него есть проблема с Дело в том, что это строка в первую очередь.

Я правильно настроил эти параметры отчета в своем отчете BIRT. Я также попытался изменить их указав значение «Формат как» в качестве «пользовательского» ГГГГ-ММ-дд, но это не сработало.

Можно ли даже отправить параметры даты в отчет birt через строку запроса?

Я предполагаю, что решение будет включать преобразование этих строк в даты на вкладке "скрипт" отчета birt. но я не знаю, как получить доступ к переменным строки запроса отсюда или как установить отчет переменные параметров.

Спасибо -Tommy

Ответы [ 4 ]

2 голосов
/ 15 ноября 2011

Следующий формат BIRT используется для проверки параметров:

DEFAULT_DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"

Так что, если вы передадите дату / время, как это должно работать

&mydate=2009-11-22 00:00:00.0
2 голосов
/ 15 июня 2010

Ваш параметр отчета, вероятно, имеет тип данных "DateTime".Таким образом, ваше прохождение только даты недостаточно.Когда вы используете страницы запроса параметров OOTB, это учитывается под обложками.Либо измените тип данных параметра на «Дата», либо добавьте временную подпись к параметру, передаваемому в отчет через вашу страницу (например, 2009-01-01 00:00:00).Любой подход должен сделать свое дело.

Удачи!

0 голосов
/ 30 января 2011

Проверьте свой формат даты;помните, что ММ используется для месяца и мм для минут .

Также проверьте это решение, найденное на форумах сообщества Eclipse :

Попробуйте это в URL:

& mydate = 22/11/ 2009 & __ islocale = mydate

Замените mydate именем вашего параметра.Параметр __isLocale указывает, что параметр локализован.

0 голосов
/ 15 июня 2010

Если передаваемый параметр даты начала - 2000-01-01, почему он выдает сообщение об ошибке, в котором указано, что 06-08-2010 является недействительным?Похоже, что параметр даты устанавливается в другом месте отчета, либо в качестве значения по умолчанию, либо, возможно, в сценарии события.

...