![比较Activiti中三种不同的表单及其应用_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/b368943b-d19a-4270-9aa6-9d9650548c8f/b368943b-d19a-4270-9aa6-9d9650548c8f1.gif)
![比较Activiti中三种不同的表单及其应用_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/b368943b-d19a-4270-9aa6-9d9650548c8f/b368943b-d19a-4270-9aa6-9d9650548c8f2.gif)
![比较Activiti中三种不同的表单及其应用_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/b368943b-d19a-4270-9aa6-9d9650548c8f/b368943b-d19a-4270-9aa6-9d9650548c8f3.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、比较activiti中三种不同的表单及其应用这个恐怕是初次接触工作流最多的话题之一了,当然这个不是针对activiti 来说的,每个工作流引擎都会支持多种方式的表单。目前大家讨论到的大概有三 种。1. 动态表单2. 外置表单3. 普通表单1动态表单这是程序员最喜欢的方式,同时也是客户最讨厌的因为表单完全没冇布局, 所冇的表单元素都是顺序输出显示在页而。此方式需要在流程定义文件(bpmn20.xml)i|i用activiti:formproperty属性 定义,可以在开始事件(start event)和task上设置,而且支持变量自动替 换,语法就是uel。?1 <startcvcnt i
2、dstartcvcntr7 name=z/startz,>2 <extensionelements>3 <activiti: formproperty id二name" name二name" type=/string/,x/activiti: formp4 </extensionelements>5 </startevent>6 <uscrtask id二uscrtaskl" name=,first stcp>7 <extensionelements>8 <activiti: formp
3、roperty id二setlnfirststep" name=z/setinfirststep/z type二dat9 </extensionelements>10 </usertask>下而是一个简单的动态表单的单元测试,读者可以下载运行以便更明确执行过程和判断动态表单能不能在企业项口中使用。 dymaticform.bpmn processtestdymaticform.java下载z后复制到eclipse工程里,更改里面的路径配置使用junit测试即可。 当流程需要一些特殊处理时可以借助listener或者delegate方式实现。注意:表单的内容都是
4、以key和value的形式数据保存在引禁表中! !2外置表单这种方式常用于基于工作流平台开发的方式,代码写的很少,开发人员只要把表 单内容写好保存到.form文件中即可,然后配置每个节点需耍的表单名称(form key),实际运行时通过引擎提供的api读取task对应的form内容输出到页 面。此种方式对于在经常添加新流程的需求比较适用,可以快速发布新流程,把流程 设计出来之后再设计表单之后两者关联就可以使用了。例如公司内部各种简单的 审批流程,没有业务逻辑处理,仅仅是多级审批是否通过等等情况当流程需要一些特殊处理时可以借助listener或者delegate方式实现。 activiti ex
5、plorer就是使用的这种方式,表单信息都配置在流程定义文件中。 代码片段: ?1 <process id二formkey" name二fonnkey>2 <startevent id二"starteventl name二start" activiti:fc)rmkey=,/diagrams/form/st3 4 </process>同样也提供了单-元测试: formkey.bpmn20.xml start.form first-step.form processtestformkey.java注意:表单的内容都是以key和value
6、的形式数据保存在引擎表中! ! !3 .普通表单这个是最灵活的一种方式,常用于业务比较复杂的系统中,或者业务比较固定不 变的需求中,例如erp系统。普通表单的特点是把表单的内容存放在一个页而(jsp、jsf、html等)文件屮, 存放方式也有两种(一体式、分离式):1 一体式:把整个流程涉及到的表单放在一个文件然后根据处理的任务名称匹配 显示,kft-activiti-demo的普通表单模式就是一体式的做法,把表e内容封装 在一个div里而,div的id以节点的名称命名,点击“办理”按钮时用对话框的 方式把div的内容显示给用户。2分离式:对于非ajax应用来说比较常用,每个任务对应一个页面文件,点击 办理的时候根据任务的id动态指定表单页面。本闿客发布的activiti入门demo中冇演示:activiti快速入门项目 kft-activiti-demo和以上两种方式比较有两点区别:1. 表单:和第二种外置表单类似,但是表单的显示、表单字段值填充均由开 发人员写代码实现。2. 数据表:数据表单独设计而不是和前两种一样把数据以key、value形式 保存在引擎表中。4从业务数据和流程关联比较1. 动态表单:引擎已经口动绑定在一起了,不需要额外配置。2. 外置表单:和业务关联是可选的,提供的例了中是没有和业务关联的,如 果需要关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度物流数据服务合同版
- 二零二五年度测绘技术服务保密协议
- 2025年度股东会决议补充协议与合作伙伴关系维护及发展协议
- 二零二五年度汽车未过户期间权益保障协议
- 2025年度电动门行业市场拓展与采购合同
- 二零二五年度地下室改造工程投资合作与租赁权转让协议
- 2025年度农业合作终止协议书
- 鲁教版历史六年级上册《昌盛的秦汉文化(二)》听课评课记录
- 浙教版数学七年级上册《3.1 平方根》听评课记录2
- 八年级历史人教版下册听课评课记录:第12课 民族大团结
- 交流伺服系统常见故障及处理分解课件
- 水土保持单元工程质量评定表
- 圣三国蜀汉传攻略
- 2021届高考英语887核心词(打印、词频、出处、例句、背诵)
- 天津市乡镇卫生院街道社区卫生服务中心地址医疗机构名单
- 公司机关管理类责任矩阵
- 山东省青岛市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 《钻井液用磺甲基酚醛树脂技术要求》
- 数学-九宫数独100题(附答案)
- 中国农业发展银行XX支行 关于综合评价自评情况的报告
- 2010年宣武区第六届中小学生地理知识竞赛题库
评论
0/150
提交评论