在 Activiti 5.17 中添加自定义表单类型

Adding custom form type in Activiti 5.17

我正在使用 activiti explorer,我对添加自定义表单类型有一些疑问。

特别是我想创建一个组合框来填充来自数据库 (PostgreSQL) 的数据,我正在关注这个 post: http://www.jorambarrez.be/blog/2013/03/13/creating-a-new-form-property-in-activiti/

问题是,在最新版本的 activiti (5.17) 中,文件 activiti-custom-context.xml 都被注释掉了,当我取消注释默认出现的所有代码并部署 war 在 tomcat 它崩溃了。

我看到的所有 post 都说这很容易,对我来说这需要 2 个多星期。

拜托,谁能帮帮我?

在 5.16.2 及更高版本中,activiti-custom-context.xml 用于补充使用 spring 注解的主要配置 classes。虽然您可以使用 XML 文件,但我建议您直接更新 ActivitiEngineConfiguration class。您将需要为该类型添加一个新的表单类型和关联的表单渲染器。在配置中注册表单类型。如果您需要一个自定义解析器(听起来您会这样做),那么创建一个扩展 org.activiti.engine.impl.form.FormTypes 的自定义表单解析器并将其也注册到配置中。 这是好消息,现在是坏消息。除了绑定到表单控件的变量之外,表单渲染器无法访问执行上下文(包括任务 ID、执行 ID 等),因此您无法引用上下文。因此,您需要在表单元素渲染器中进行数据库查找。我会使用帮助程序 bean 进行数据库查找和查询,这样您就可以将数据库连接和查询外部化。