如何用Camunda Modeler部署嵌入式自定义表单?访问报404
Camunda 7 嵌入式自定义表单404排查方案
核心问题原因
Form Key未按Camunda规则添加前缀时,系统会默认将其判定为外部表单,不会读取部署时上传的HTML文件,而是直接把Form Key的值拼接到Tasklist的访问路径后查找本地静态文件,这就是跳转地址带/test路径、访问返回404、页面显示「open external form」按钮的根本原因。
修复步骤
- 修正用户任务的Form Key配置
你当前配置的test不符合嵌入式表单的格式规范,若test.html是随流程部署时上传的附加资源,将Form Key修改为:
其中embedded:deployment:test.htmlembedded:前缀用于声明该表单为嵌入式表单,配置后任务页不会出现跳转外部表单的按钮,表单会直接在任务详情区域内渲染;deployment:前缀用于声明表单资源从当前流程的部署资源中读取,无需手动放到webapps静态目录下。 - 校验部署资源的实际路径
重新部署前,确认上传的test.html在部署包内处于根路径。可在部署完成后进入Cockpit的部署详情页,查看当前部署包含的资源列表:如果文件被自动添加了目录前缀(比如forms/test.html),Form Key需要对应调整为embedded:deployment:forms/test.html,否则依然会出现资源找不到的问题。 - 静态文件部署场景的配置(可选)
如果你希望将表单文件直接放在Camunda服务的静态目录下、不随流程部署,可将test.html放到webapps/camunda/app/tasklist/forms/目录中,对应Form Key配置为:
这种方式修改表单无需重新部署流程,但多节点部署时需要同步所有节点的静态文件。embedded:app:forms/test.html
验证标准
配置正确并重新部署流程后,启动新的流程实例,进入对应任务页面时不会触发页面跳转,自定义HTML表单会直接嵌入任务详情区域展示。
内容的提问来源于stack exchange,提问作者Asterisk
相关产品推荐
相关产品推荐

