[英]How do you set and pass a parameter to a BIRT report created by the BIRT Report Designer through the BIRT API?
[英]Can we pass Java Object as report parameter to BIRT Report
我有一个报告,该报告调用过程,然后从临时表中创建数据集。 现在,我们想要的不是调用过程,而是要从java
项目中调用Procedure并创建结果集的java
对象,并将该java
对象作为参数传递给BIRT
。
现在我面临的问题是BIRT
将仅支持原始类型作为参数类型,而不支持JAVA
Object,那么有什么方法可以将Java
Object作为报告参数传递给BIRT
?
您可以使用AppContext对象将任何内容传递给报表。 这是一个映射(字符串->对象)。 例如,可以在启动RunTask或RunAndRenderTask之前从Java端将对象放入此映射中。
runAndRenderTask.getAppContext().put("myKey", myObject);
在BIRT报告中,例如,您可以使用reportContext.getAppContext()从Javascript访问AppContext。
var myObject = reportContext.getAppContext().get("myKey");
有关更多信息,请参见BIRT文档,例如http://developer.actuate.com/be/documentation/ihub3/help/adg/adg62/index.html#page/ADG/ScriptingWithJavaScript.1.05.html#ww253653
顺便说一句,您还可以使用AppContext通过从JavaScript端向BIRT报告中的信息向您的应用返回信息。
请注意,AppContext传递的对象必须可序列化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.