2014-06-19 46 views
1

实际上BIRT脚本在哪里运行?像beforeFactory,fetch等脚本?BIRT脚本在哪里运行?

在我看来,它们呈现在客户端,但它是这样吗?或者它在服务器端渲染,只有报告视图发送到客户端?萤火虫控制台给了我一些线索,但我不确定。

回答

3

所有BIRT脚本都在与BIRT引擎相同的JVM中的服务器端(Rhino脚本)上运行。这就是为什么他们可以调用java对象。同样,当我们通过birt报告的“资源”属性包含javascript文件时,它也是也是服务器端脚本:不要尝试在这里包含像jquery这样的东西,它不会工作。

唯一的例外是:

  • 文本元素,我们可以将类型设置为HTML,然后添加HTML脚本标记之间的客户端操作。这是我们可以例如包括jquery或任何其他客户端框架,我们喜欢
  • 从birt 4.3有一个事件“clientScripts”我们可以把客户端JavaScript操作。虽然我会建议使用上述的“HTML文本元素”方法而不是此事件。
  • 图交互动作,有这实际上是一个客户端的“调用脚本”选项的JavaScript
+0

感谢完美的答案! :) –