部署与调用

实现的自定义函数类必须进一步在产品中进行部署、登记注册,然后才能使用。

具体如下:

部署自定义函数类

首先,将自定义函数类编译后的class文件存放至应用【WEB-INF/classes】的相应目录下,注意目录路径必须包含包名。

例如本示例中定义的自定义函数类为com.api.Uuid,位于【com.api】包内,所以编译后的Uuid.class必须存放至【WEB-INF/classes/com/api/】目录下,如下图:

登记自定义函数

接着,在产品的自定义函数配置文件customFunctions.properties中,对函数进行登记。

配置文件路径:\WEB-INF\classes\config\customFunctions.properties

如下图:

函数登记规则

函数登记的作用是设置调用自定义函数时所使用的函数名、函数类型以及对应的函数实现类。

登记规则如下:

函数名=函数类型,函数实现类

注意:

例如本示例中,将函数登记为:

getUuid=0,com.api.Uuid

重启应用

最后,还需要将应用重启,把部署登记好的自定义函数最终注册到系统中,供用户进行使用。

报表中如何调用自定义函数

自定义函数可以在报表单元格、单元格属性等支持表达式设置的地方进行使用。

调用方式是在表达式中书写函数登记时设置的函数名即可。如果自定义函数需要传入参数,则直接在括号内写入参数即可,并且参数可以是产品支持的表达式。

functionName(arg1, arg2, ...)

例如下图所示,是在报表的A1单元格中书写表达式:=getUuid(),来调用本示例中实现的自定义函数。由于该函数不需要使用参数,所以括号内无需写参数。

示例效果展示

下图显示了在报表中使用自定义函数Uuid获得的字符串: