在JBPM中使用自定义表单
最近在做一个项目,涉及到工作流,在网上找了一下,发现JBPM还是不错的。于是打算用它来做工作流引擎。不过我以前是做.NET的,从来没有写过Java的程序,一切都得从头开始,不过也算是对自己的一个锻炼吧。
因为是新手,所以开始很难,前两天下载了个MyEclipse,费了九牛二虎之力,总算把JBPM的开发环境搭起来了。对照着JBPM的用户手册,目前已经实现了数据库存储,以及一个基本流程的流转(纯流程,静态表单数据)。数据库设计也大概做完了,也搭起了Hibernate环境,并根据数据库生成了数据层代码。从今天开始,就要着手实现动态加载工作流表单了。
首先,我的工作流表单是定义在数据库里,大概的结构是这样:
每个流程定义了一个Form,FormItem里存放这个Form里各有什么控件,以及控件的类型及值类型等。据我了解,Java(或者Jsp)里,没有像.NET里那样的动态加载控件机制,所以,我写了一个Bean,根据传进来的流程名称,来加载相应的表单及里面的控件。
在处理流程的页面里,调用这个Bean,就可以得到需要加载的表单了。
提交的时候,在根据数据库里的配置,分别得到这些控件的值,然后存储就行了。