- 1. 简介
- 2. 开始
- 3. 配置
- 4. Flowable API
- 5. 集成 Spring
- 6. 部署
- 7. BPMN 2.0 介绍
- 8. BPMN 2.0 结构
- 9. 表单
- 10. JPA
- 11. 历史
- 12. 身份管理
- 13. Eclipse Designer
- 14. Flowable UI 应用
- 15. REST API
- 16. 集成 CDI
- 17. 集成 LDAP
- 18. 高级
- 19. 工具
9.3. 外部表单渲染
也可以使用API,在Flowable引擎之外,自行渲染任务表单。下面的步骤介绍在自行渲染任务表单时,可以使用的钩子。
实际上,渲染表单所需的所有数据都组装在:StartFormData FormService.getStartFormData(String processDefinitionId)
与TaskFormdata FormService.getTaskFormData(String taskId)
这两个方法中。
可以通过ProcessInstance FormService.submitStartFormData(String processDefinitionId, Map<String,String> properties)
与void FormService.submitTaskFormData(String taskId, Map<String,String> properties)
提交表单参数。
查看表单参数了解如何将表单参数映射至流程变量。
如果希望按版本将表单与流程存储在一起,可以将表单模板资源放在部署的业务存档中,并可以使用String ProcessDefinition.getDeploymentId()
与InputStream RepositoryService.getResourceAsStream(String deploymentId, String resourceName);
,作为部署中的资源获取,在你的应用中渲染/显示表单。
除了任务表单之外,也可以获取其他部署资源。
String FormService.getStartFormData(String processDefinitionId).getFormKey()
与String FormService.getTaskFormData(String taskId).getFormKey()
API提供<userTask flowable:formKey="…"
属性。可以用它保存部署中模板的全名(如org/flowable/example/form/my-custom-form.xml
),但这并非唯一选择。例如,也可以在formKey中保存通用的key,通过算法或转换得到实际需要使用的模板。在你需要在不同的UI界面渲染不同的表单时很方便。例如,在普通屏幕尺寸的Web应用中显示一个表单,在手机等小屏幕中显示另一个表单。甚至可以为IM表单或邮件表单提供专门的模板。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论