2014-06-19 75 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

感謝完美的答案! :) –