在Camunda嵌入式格式中,选择项可以具有多重属性吗?

时间:2019-01-07 10:39:26

标签: camunda

在用户任务中,嵌入式表单标记为

  ...
  <div class="form-group">
    <label for="customer">Customer</label>
    <select class="form-control"
           cam-variable-name="customerId"
           cam-variable-type="String"
           cam-choices="customerList"
           name="customer" />
  </div>
  ...

在提交表单后,选择项将填充有java.util.Map的客户ID和客户名称,而关联的Camunda过程变量将客户ID填充为单个String

如果选择具有

multiple="multiple"

属性集,这行得通吗?

在阅读Camunda手册时,对于选择,唯一允许使用的变量类型是字符串,整数,长整型和短整型 即不支持数组或列表类型。

如何从单个String访问多个选择?

1 个答案:

答案 0 :(得分:0)

使用Camunda 7.10,支持multiple属性。将此属性添加到嵌入式表单标记中

...
<div class="form-group">
    <label for="customer">Customer</label>
    <select class="form-control"
           cam-variable-name="customerId"
           cam-variable-type="String"
           cam-choices="customerList"
           name="customer"
           multiple="multiple" />
</div>
...

在表单提交时,变量customerId会以方括号定界的逗号分隔值列表的形式填充

[10,11,12]

这可以在过程变量显示中看到。

在表单处理代码(通常是用户任务侦听器)中,必须解析级联的String才能提取所选值。