java怎么定义全局函数_自定义函数实现java中的全局唯一标识符(UUID)方法

uuid

的产生:

过数据库的人都知道在数据库中存在着主键约束,也就是不能出现相同的主键,如果用一些简单的整数做主键,很有可能会违法主键约束,从而产生了

UUID(Universally Unique

Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,详细信息请参

照:http://baike.baidu.com/view/1052579.htm?fr=ala0

web报表用户大部分都需要使用数据库,有时候就会用到这个方法,Java1.5中增加了UUID的方法,如何把java中的这个方法在报表中使用呢,下文将详细介绍。

Java中的方法函数,在报表中使用,需要使用自定义函数来调用。

实现思路:

通过快逸提供的二次开发的接口和类实现把java中的方法调用到报表中。

第一步:

编写自定义函数的java类,继承com.runqian.report4.model.expression.Function这个类。

public class MyUUid extends Function

{

public MyUUid(){ }//空值构造方法

public Object calculate(Context ctx, boolean isInput) //标准接口,ctx为运算环境,isInput为是否填报

{

//得到java中的UUID,格式为类似****-****-****的,可以根据自行设置更改返回值的格式,这里以字符串的形式演示.

String s = UUID.randomUUID().toString();

String value = s.substring(0,

+ s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24);//拆分字符串,重新拼成一个新字符串.

return value;

}

}

第二步:

将编译好的java类.class文件配置到设计器以及项目中.

连同包一起复制到\reportHome\designer\classes和\reportHome\webapps\quiee\WEB-INF\classes目录下.

修改\reportHome\designer\web\WEB-INF\classes\config\customFunctions.properties 文件

加入以下内容.uuid=0,com.runqian.custom.function.MyUUid

附注:uuid是自定义函数的名称,0代表非数据集函数, com.runqian.custom.function.MyUUid是自定义函数的包名+类名

如果\reportHome\webapps\ quiee \WEB-INF\classes目前下没有config目录,则到\reportHome\designer\classes下复制config目录.

配置完成后,在报表单元格中直接调用=uuid()即可.

下面我们来看一张通过自定义函数实现UUID在报表中调用的报表。

这样就达到了在报表中调用java提供的方法函数了。

原文链接:自定义函数实现java中的全局唯一标识符(UUID)方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值