在用户任务中,嵌入式表单标记为
...
<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
访问多个选择?
答案 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
才能提取所选值。