文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Flowable Unknown property used in expression: XXXX

2023-09-04 14:01

关注

org.flowable.common.engine.api.FlowableException: Unknown property used in expression: T{orderDetail==1} at org.flowable.common.engine.impl.el.JuelExpression.getValue(JuelExpression.java:54) at org.flowable.engine.impl.el.UelExpressionCondition.evaluate(UelExpressionCondition.java:37) at org.flowable.engine.impl.util.condition.ConditionUtil.hasTrueCondition(ConditionUtil.java:47) at org.flowable.

在使用flowable某个用户任务属性:【跳过表达式】功能时,设置了表达式为${orderDetail==1},保存流程定义没有问题,在启动流程实例时,发生报错: 

因为在启动实例过程中发现 运行时流程变量数据表( act_ru_variable ),没有orderDetail这个变量存在。

但数据表是插入进数据了

后来查了一下资料,主要解决方案有两个

方案一

在启动实例前,预设下这个变量,给个默认值(主要原因就是没有预设值,值为nul时,在遇到网关后没有条件进行判断,所以报错)

Map variables =po.getVariables();variables.put("initiator",userInfo.getId());variables.put("_FLOWABLE_SKIP_EXPRESSION_ENABLED", true);variables.put("orderDEtail",0);ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables);

方案二:

根据官方文档对表达式的说明,可以用 ${var:get(orderDetail)== 1} 来替换  ${(orderDetail)== 1}

 

 大致意思就是如果不使用var这种方式命名,当变量值为nul或者值不存在时会报错

 

来源地址:https://blog.csdn.net/m0_74444744/article/details/129448462

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯