如何在KIE工作台中完成下拉列表?

时间:2015-01-06 15:01:06

标签: workflow jbpm

我是JBPM的新手,我正试图围绕一个新项目,最近注意到在尝试定义一些用户任务表单时,我找不到下拉列表的表单选项列表

此时我对这项技术的了解非常少,乍一看似乎是一个奇怪的限制,应该有一个简单的解决方法,但我很难找到快速而肮脏的解决方案。

这是我必须在Eclipse中编写代码还是其他什么东西?

3 个答案:

答案 0 :(得分:10)

@cego提供的答案对于#34;硬编码"是正确的。值,如果要加载动态值(例如,从数据库中),可以使用“选择框”字段类型并将其配置为使用计算组合值的SelectValuesProvider。

要创建SelectValuesProvider,您应该创建一个具有mvn依赖关系的java项目:

<dependency>
  <groupId>org.jbpm</groupId>
  <artifactId>jbpm-form-modeler-api</artifactId>
</dependency>

完成后,您可以创建实现org.jbpm.formModeler.core.config.SelectValuesProvider的类。该接口提供了两种方法:

  • String getIdentifier():应返回标识此提供程序的唯一String。此字符串将显示在“选择框”配置弹出窗口中。
  • 映射getSelectOptions(字段字段,字符串值,FormRenderContext renderContext,Locale语言环境):此方法必须返回包含要在“选择”框中加载的键,文本的Map。收到的参数是:
    • 字段字段:将要评估的字段的配置。
    • 字符串值:字段的当前值
    • FormRenderContext renderContext:一个类,其中包含有关当时呈现的表单的所有信息。
    • 区域设置区域设置:呈现窗体的区域设置。

创建此提供程序后,必须编译项目并将jar放在服务器类路径上并重新启动它。完成此操作后,您将能够创建表单(或编辑现有表单),添加选择框字段并在&#34;数据提供商&#34;上选择您的提供商。组合框。

希望它有所帮助,如果您有任何疑问,请询问,我将尝试创建一个示例。

此致

佩尔

答案 1 :(得分:3)

好的,对于旧版本,您可以使用RangeProvider将文本框转换为组合框。这是与前一个非常相似的解决方案。

首先,你应该创建一个mvn依赖的java项目:

<dependency>
  <groupId>org.jbpm</groupId>
  <artifactId>jbpm-form-modeler-api</artifactId>
</dependency>

之后,您必须创建实现org.jbpm.formModeler.api.model.RangeProvider的RangeProvider类并实现它的方法。作为上一个示例中的SelectValuesProvider,此接口提供了两种方法:   - String getType():用于标识提供程序的唯一String   - Map getRangesMap(String namespace):此方法必须返回一个Map,其中包含要在组合框中加载的键,文本。它只接收一个String参数,它是一个标识符,允许您获取有关正在呈现的表单的所有信息。

此外,您还必须创建一个META-INF / beans.xml文件,以允许通过CDI查找您的提供程序(我在上一个示例中错过了此步骤,抱歉)。

如前面的示例所示,一旦您创建了提供程序,您必须编译项目并将jar放在服务器类路径上并重新启动它。

启动服务器时,您必须创建一个新表单(或打开一个现有表单),添加一个TextBox字段,编辑它的属性并写入RangeProvider的getType方法返回的字符串。 &#34;范围值&#34;属性。 保存字段属性,如果一切正常,该字段将呈现为组合框,显示提供商返回的值。

答案 2 :(得分:2)

要创建选择元素(下拉列表),请查找&#34;设置范围公式&#34;在这部分文档中:http://docs.jboss.org/jbpm/v6.1/userguide/chap-formmodeler.html#sect-formmodeler-FormulasExpression