Flowable 3.x社区版Script Task中flw库使用及报错问题咨询
解决Flowable 3.x Script Task中flw API报错问题
Flowable 3.x社区版对Script Task里的flw上下文对象API做了调整,你用的getInput/setOutput是旧版本写法,3.x已不再支持,换成以下正确用法即可解决报错:
- 获取工作流变量:
var myjson = flw.variable.get('restResponse'); - 设置工作流变量:
flw.variable.set('v1', 24);
flw.json库的常用功能
flw.json是Flowable内置的JSON处理工具库,无需额外依赖,常用功能包括:
- 解析JSON字符串为JS对象:
flw.json.parse('{"name": "test"}') - 将JS对象序列化为JSON字符串:
flw.json.stringify({name: "test"}) - 安全读取嵌套JSON属性(属性不存在时返回null,不会抛错):
flw.json.get(jsonObj, 'user.address.city') - 设置嵌套JSON属性:
flw.json.set(jsonObj, 'user.age', 25) - 合并两个JSON对象:
flw.json.merge(targetObj, sourceObj)(source的属性会覆盖target同名属性)
查看flw库函数签名的方法
- 日志打印调试:在Script Task中添加打印代码,比如
print(Object.keys(flw.json))可列出所有可用方法;print(flw.json.parse.toString())能看到方法的参数和大致实现逻辑,运行工作流后查看Flowable日志即可获取信息。 - 查看源码:Flowable 3.x社区版源码里,
flw上下文定义在org.flowable.work.engine.impl.scripting.FlowableScriptingContext类,flw.json对应org.flowable.common.engine.impl.scripting.JsonScriptingUtil类,直接查看这些类的方法就能明确函数签名和参数要求。 - 建模器自动补全:用Flowable Modeler编辑Script Task时,开启代码编辑自动补全,输入
flw.或flw.json.会弹出方法列表,鼠标悬停可查看参数提示。
内容的提问来源于stack exchange,提问作者user20627766
相关产品推荐
相关产品推荐

