来到北京,今天的天气似乎是最好的,希望不要再有降温天气了。今日继续我们的审批流程,今天的内容似乎有点多,同学们需要努力学习哦!

我个人认为今天的内容多,是为因今天加入了测试部分。使用JBPM开发OA系统,说简单些就是将自定义表单数据放到JBPM工作流中流转。我们所需要实现的功能就是,使用户可以向系统中部署自定义工作流,用户可以自己添加自定义表单。我们通过编写通用表单实体,让任何自定义表单在工作流中流转即可。

我来总结一下今天的各部分重点内容。

一、表单定义

我们可以使用FCKEDIT这个免费的工具来设计自定义表单,但我们并未使用外部工具。而是自己编写了一个简单的表单设计工具,在下面我会一一介绍。

与其他模块一样,我们需要为表单定义(表单模板管理)编写自己的DispathcAction,根据下面的表单模板管理流程,编写DispatchAction。

在实现DispatchAction有必须先定义struts的ActionForm和表单定义的实体(FormDefinition),因为我们的OA系统可以添加任意自定义的表单,所以我们需要编写一个通用的ActionForm和FormDefinition。实体中具有哪些属性字段,是这里的难点。汤老师,在OA项目的第一就领着大家把事个系统简单分析了一下,之后的每次讲课都从大模块框架开始。因为只有讲了整个相关功能的大模块应用,才能更好的理解这些小模块需要什么,比如下面定义的实体是因为在生成表单实例时、提交申请和工作流流转时使用。我们先来看一下实体的全景图:

(新增加:FormDefinition、FormInstance、ApproveInfo,今日我们只学习FormDefinition)

FormDefinitionActionForm:

public class FormDefinitionActionForm extends ActionForm {

private static final long serialVersionUID = 1L;

private Long id;

private String name; // 自定义表单名称

private String templatePath;// 自定义表单存放路径(html)

private String processName;// 自定义表单使用的流程名称

private String[] propertyNameList; // 存放表单字段名称的数组与propertyValueTypeList对应

private Class[] propertyValueTypeList;// 存放表单字段类型的数组与propertyNameList对应

// setters and getters…

}

FormDefinition:

public class FormDefinition {

private Long id;

private String name; // 自定义表单名称

private String templatePath;// 自定义表单存放路径(html)

private String processName;// 自定义表单使用的流程名称

// 存放表单字段名称与字段类型的MAP

private Map<String,Class> fieldDefinitionList = new HashMap<String, Class>();

// setters and getters…

}

转:传智播客—jbpm与OA项目(七)相关推荐

  1. 传智播客 微金所项目实战

    微金所项目实战(出处:传智播客) 1. 搭建Bootstrap页面骨架及项目目录结构 ├─ /weijinsuo/ ··················· 项目所在目录 └─┬─ /css/ ···· ...

  2. 传智播客微金所项目实战移动web开发

    1.源码笔记 我的源码+笔记(很重要):链接: http://pan.baidu.com/s/1kULKqcJ 感谢传智播客项目相关视频:1.6天 链接: https://pan.baidu.com/ ...

  3. 传智播客php电商项目源码,shop thinkphp写的电子商城代码,原 为传智播客的教学 源码 WEB(ASP,PHP,...) 256万源代码下载- www.pudn.com...

    文件名称: shop下载  收藏√  [ 5  4  3  2  1 ] 开发工具: PHP 文件大小: 6807 KB 上传时间: 2016-04-19 下载次数: 0 提 供 者: 李二帅 详细说 ...

  4. 《传智播客.Net培训.net视频教程》(.net视频asp.net培训传智播客asp.net视频教程开放课程c#视频移动开发winform SQL ADO.Net HTML JavaScript

    本资源重要通知 2011年4月传智播客.Net培训-免费公开课现场视频 [重磅内容]微软移动开发介绍1-早起的鸟儿有食吃.rar 详情 53.2MB [重磅内容]微软移动开发介绍2-windows.p ...

  5. 成都传智播客Java培训

    成都传智播客Java培训,严格按照北京传智播客的教育模式,为西南IT行业培养了许多优秀的软件开发工程师. 我们有专为0基础.或者基础不够硬的学员开设的Java基础与加强班,让你轻轻松松跨进Java的世 ...

  6. 传智播客成都中心的Java课程设置

    传智播客成都中心的Java课程设置 传智播客成都中心作为西南地区最大的高素质软件开发人才培训机构之一,以其强大的专业教学团队,科学的教学课程体系,以及孜孜不倦.踏实务实的教学精神,现已为中国IT产业培 ...

  7. 传智播客JAVA培训20100524SPRING SECURITY

    传智播客JAVA培训20100524SPRING SECURITY 这两天反反复复的看了佟刚老师的教育办公管理系统的项目视频,真是感觉到该老师真是强大,讲的项目非常有技术含量,虽然到现在我都还是半知半 ...

  8. 传智播客年轻的老师们!!

    [传智播客的老师个个都是行业的领军人物]很多很年轻,他们是我们的榜样!!奋斗的目标!! ========================== ======== 传智老师 ======== [讲师介绍] ...

  9. php 传智播客 学习内容

    第一阶段:(PHP+MySQL核心编程) 课程名称 阶段课程 课程内容 学习目标 PHP+MySQL核心编程(21天) PHP基本语法加强 Apache--directory配置段 一个IP和多个域名 ...

最新文章

  1. Dojo学习13 dijit.Tree 动态添加节点之一
  2. mysql select a b_MySQL-mysql中,select a,b 与 select *效率到底差多少?
  3. centos mysql 设置_CentOS下MySql优化及安全设置centos
  4. 帝国cms7.5 utf-8本地网站电脑手机模板开发同步插件即时预览修改结果
  5. 自定义LOG投递OSS数据Partition,优化你的计算
  6. sketchup生成面域插件_独家教程 | 快速抓取“高精准”场地信息,康石石教你生成不同“体量”地形...
  7. efk使用_如何使用EFK创建开源堆栈
  8. django 1.8 官方文档翻译: 1-2-5 编写你的第一个Django应用,第5部分
  9. redis过期策略及定期策略配置
  10. wordpress如何快速配置SSL安全证书
  11. Linux RAID磁盘阵列配置
  12. 计算机定时开机命令,如何设置定时开机 定时开机命令设置方法
  13. flutter配置环境变量时找不到前往~/.bash_profile,找不到
  14. python华表_鹤归华表 丁令威化鹤
  15. 活动报名 | 清华大学交叉信息研究院高阳:视觉机器人学习
  16. 【GPT4】微软 GPT-4 测试报告(6)与人类的交互能力
  17. 在微信公众号中写html代码吗,微信公众号内容如何利用html编辑?
  18. 软件测试工程师未来发展前景
  19. 平台的核心交互与基础角色——互联网平台建设系列
  20. sql如何把一个数据库的表复制到另一个数据库中【转载】

热门文章

  1. 命令行配置电脑IP(Windows下设置、增加、删除)
  2. 抢滩抖音、B站,快手港股IPO进程加速
  3. vue获取麦克风_微信小程序实现录音时的麦克风动画效果实例
  4. 最简单的方式讲明白numpy.reshape()函数
  5. 程序员应该常去的网站
  6. 机器学习python中train_test_split()函数进行数据集分割
  7. webpack + typescript 开发微信小游戏实践
  8. Json对象转换成Json数组
  9. 常用的Java Web框架简介
  10. 学习OpenCV——grabcut