我已经创建了一个静态html页面(称为start.jsp),其中包含一个表单,其中用户选择2个日期范围,并且此表单具有这些文本框的日期选择器。当用户提交 表单时,应该将它们带到我设计的BIRT报告中。它应该 传递我的报告需要的2个参数(开始日期和结束日期)。如何通过查询字符串将日期值传递给BIRT报告
这里是一个被附加到URL BIRT查看器/ 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报告中正确设置了这些报告参数。我也尝试通过指定“格式为”值为“自定义”YYYY-MM-dd来更改它们 ,但此操作无效。
它甚至可以通过查询字符串发送日期参数给birt报告吗?
我猜测解决方案将涉及将这些字符串转换为birt报告的“脚本”选项卡中的日期。 但我不知道如何从这里访问查询字符串变量或如何设置报告 参数变量。
感谢 -Tommy
谢谢MystikSpiral - 自从我的文章,我自己解决了这个问题,修复是与你提到的有关。我的报告参数是数据类型“日期时间”,我实际上已将其更改为字符串。 解决了这个问题。我的数据集中的SQL查询可以接受一个字符串作为参数 - 只要它格式化为MySQL的日期格式即可。 – Tommy 2010-06-16 10:36:57