首页 > 解决方案 > 如何在 Activiti Script Task 中获取和设置属性对象的属性值

问题描述

我是 Activiti 的新手,我在我的 bpmn 文件中使用了一个脚本任务以及如何进行一些值转换。请在下面检查我的代码。

运行工作流时传递变量:

Map<String,Object> var = new HashMap<String,Object>();
Person req = getRequest();
var.put("req", req);

runtimeService.startProcessInstanceByKey("demo",var);

获取请求方法:

private static Person getRequest() {

    return new Person("John",30,"1");
}

我的脚本任务:

<scriptTask id="scripttask1" name="script task" scriptFormat="javascript">
  <script><![CDATA[
    	var req = execution.getVariable("req");
    	console.log(req);
  ]]></script>
</scriptTask>

Person 中的属性是姓名、年龄和性别。我想在脚本任务中获取性别值,然后将其转换为我们的格式。我试图在脚本任务中编写上面的代码,但我不知道如何从对象变量中获取属性,有人可以帮忙吗?或者无论如何我可以调试我在脚本任务中得到的东西?谢谢!

标签: javascriptworkflowactivitiscript-task

解决方案


如果您使用的是 Activiti 5 或 6,我建议您不要使用脚本任务并使用带有 ServiceTask 的 JavaDelegate。脚本任务最终总是很混乱。https://www.activiti.org/userguide/#bpmnJavaServiceTask


推荐阅读