返回介绍

9.3. 外部表单渲染

发布于 2023-09-17 23:40:35 字数 1237 浏览 0 评论 0 收藏 0

也可以使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文