代码之家  ›  专栏  ›  技术社区  ›  Kevin Swann

在camunda嵌入式表单中,如何指定绑定变量范围?

  •  2
  • Kevin Swann  · 技术社区  · 6 年前

    在用户任务中,嵌入表单标记的一段是

    ...
      <div class="form-group">
        <label for="reference">Reference</label>
        <input class="form-control"
               cam-variable-name="reference"
               cam-variable-type="String"
               name="reference" />
      </div>
      ...
    

    在表格输入时, reference 字段应为空。在表单提交时,关联的camunda过程变量以单个引用文本填充。 String 果不其然。

    阅读camunda手册、论坛等,没有设置指定绑定变量范围,

    对于这个表单域,我希望使用局部变量(任务范围的),而不是流程实例范围的变量。

    如果使用流程变量,如果有以下用户任务的表单使用相同的变量名,则该表单域将填充以前输入的值。

    我理解变量可以通过编程方式重置,我可以使用不同的变量名,但是使用局部变量可以避免这种情况。

    此外,使用过程变量会导致变量过多,如中所示。

    cockpit > running process instances > [process-name] > [instance GUID] > variables
    

    通常,除非稍后使用该值,否则基于表单的变量仅在表单设置和操作处理期间具有相关性。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Dave R    6 年前

    要在用户表单中设置局部变量,最简单的方法是在创建任务的任务侦听器中定义它们。然后您可以在表单中引用cam变量名为的变量。

    请看这篇文章了解更多详细信息: https://forum.camunda.org/t/variables-in-parallel-process/1476/3