返回顶部
首页 > 资讯 > 数据库 >Flowable Unknown property used in expression: XXXX
  • 890
分享到

Flowable Unknown property used in expression: XXXX

springmybatismysql 2023-09-04 14:09:43 890人浏览 安东尼
摘要

org.flowable.common.engine.api.FlowableException: Unknown property used in expression: T{orderDetail==1} at org.flowable

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

您可能感兴趣的文档:

--结束END--

本文标题: Flowable Unknown property used in expression: XXXX

本文链接: https://lsjlt.com/news/393659.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作