1 概述
在设计表单时,已有的函数不能满足特定的业务需求,例如需要对某个加密字段进行读写设置,需要用到的特定的加密算法,但目前乐创者的表达式中仅支持国密sm4加解密不能满足业务需求。
此时用户就需要用到自定义JUEL函数来自行定义加解密函数实现业务目的。
2 开发环境
需要准备一个基于标准Oracle Jdk1.8的java开发环境。
需要引入以下几个jar(可点击下载 lib.rar)。
3 编写代码
创建一个java包,名称必须是在com.datanew.creater下面
例如:
在myjuel中加入package-info.java(没有这个插件采集器不会采集这个包下面的插件)
对应代码如下:
@SearchPlugIn
package com.datanew.creater.myjuel;
import com.datanew.core.sys.annotation.SearchPlugIn;
增加代码:
@JuelContainer(prefix = "myjuel")//容器,可以写容器前缀
public class MyJuel {
@JuelMethod//标识这是一个可识别的juel函数
public static String function1(String param1){
//param1是传入的参数
//业务内容自己实现
return param1;
}
}
创建一个容器类,需要打上@JuelContainer注解
在容器内实现对应函数,必须是public static修饰的公共静态函数
返回值和传入参数无绝对规定,可自行处理,参数数量无要求,可添加多个参数
3.1 jar的方式编译
代码编写完成后可通过工具将代码编译成jar文件,放到:安装目录\lczServer\WEB-INF\lib\ 文件夹下面,重启服务即可。
3.2 Class的方式编译
把代码编译成class文件
复制到安装目录\lczServer\WEB-INF\classes\com\datanew\creater\myjuel(这个名字根据用户自定义来)目录中,重启服务(creater文件夹不存在,可以自己新建)
4 调用方式
当前无函数注册机制,所以放入jar后需要自行编写函数调用
${myjuel:function1("123123")}
如果用户没有编写前缀,那就直接调用即可
${function1("123123")}
附件
作者:Eric 创建时间:2025-03-27 14:40
最后编辑:Eric 更新时间:2025-04-24 13:55
最后编辑:Eric 更新时间:2025-04-24 13:55
