首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从BIRT上的类路径自动加载JS文件

问如何从BIRT上的类路径自动加载JS文件
EN

Stack Overflow用户
提问于 2016-02-29 14:13:57
回答 2查看 751关注 0票数 1

我创建了一组在BIRT报告中使用的实用程序。

我将它们(my-utils.jar)放在BIRT的lib目录中:

代码语言:javascript
复制
BIRT_HOME\plugins\org.eclipse.birt.report.viewer_x.x.x.x\birt\scriptlib

它们运行得很好,但是现在我想创建一个JS文件,将它放在类路径上,以便能够使用它的函数。

代码语言:javascript
复制
// my-utils.js
GLOBAL_VARIABLE = {  
    formatSomething: funnction(value) {
       // do my stuff with 'value' and return
    }
};

我想直接使用它,而不需要在动态文本或脚本事件中加载它,如下所示:

代码语言:javascript
复制
GLOBAL_VARIABLE.formatSomething('bla bla bla')

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-29 21:19:23

您希望创建一个扩展点。在Eclipse中,创建一个新的空白插件-项目,然后添加以下扩展点:

代码语言:javascript
复制
org.eclipse.birt.core.ScriptFunctionService

在项目根目录下创建一个文件夹,将其命名为"jslib“,并将js文件放在这个文件夹中。编辑plugin.xml并添加JSLib标记,使其看起来如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         id="my.js.function"
         name="My custom JS functions"
         point="org.eclipse.birt.core.ScriptFunctionService">
   </extension>
  <JSLib
        location="jslib">
  </JSLib>

</plugin>

将插件导出为jar,并将其部署到Eclipse和/或web应用程序中,您的js函数应该是可用的。关于自定义birt函数这里的更多信息

票数 1
EN

Stack Overflow用户

发布于 2016-03-01 07:34:03

请注意,Dominique的解决方案仅适用于使用Java实现函数的情况。

以下解决方案适用于使用Javascript实现函数的情况:

首先,不需要将**.js*文件添加到类路径中。相反,将它们放到为资源指定的目录中,并在报表中引用它们(或在报表中使用的库之一)。请参见以下示例:

目录结构:

代码语言:javascript
复制
workspace
    \birt    # I have this configured as as "Report Project" in the WS
        my_report.rptdesign
    \res  
        my-utils.js

在“首选项”菜单中:报表设计/资源/资源文件夹= /res

(在运行时,您可以使用API设置资源文件夹,我不知道如何为Web示例配置这个文件夹)

在my_report.rptdesign中,请参阅报表本身的属性。在"Resources“选项卡中,将my-utils.js添加到Javascript文件中。

现在,您可以在报表中使用库的功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35701782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档