Может ли селект иметь форму множественного атрибута во встроенной форме Камунды? - PullRequest
0 голосов
/ 07 января 2019

В пользовательской задаче встроенная разметка формы равна

  ...
  <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 идентификатором клиента и именем клиента, а связанная переменная процесса Camunda заполняется идентификатором клиента как один String после отправки формы.

Если у выбора есть

multiple="multiple"

Атрибут установлен, это работает?

Чтение руководства Camunda, для выбора, допускаются только типы переменных: String, Integer, Long и Short т.е. тип массива или списка не поддерживается.

Как получить доступ к множественным выборкам из одного String?

1 Ответ

0 голосов
/ 11 марта 2019

Используя 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 затем должен быть проанализирован для извлечения выбранных значений.

...