11月12日工作流培训日记
2006-11-12 19:15 java ee spring 阅读(183) 评论(0) 编辑 收藏 举报梁老师今天讲解了工作流中的definition的数据存储在哪里,instance的状态数据存储在哪里,以及如何从definition到一个instance的内部细节。一个instance Activity里记录了Processor和definition Activity的id,一个instance Activity中有多个WorkItem,这些WorkItem是根据任务分配给多个角色顺序执行或并发执行时产生的。
基于他们公司的工作流引擎,在Appfuse的基础上结合spring MVC,Spring,hibernate做一个用户登陆的程序,然后做一个撰文与审批的工作流,整个与撰文相关的业务用一个名为Draft的实体对象表示,这里面存储着Processor的id、撰文的内容,小领导的意见和是否通过、大领导的意见和是否通过等信息,在启动工作流实例时就创建这个对象,只是没有填充相应的数据而已。
表单提交用SimpleFormController,其中的方法formBackingObject和onSubmit方法。用户校验要用validator框架。
配置Spring的xml文件中的设置值时要注意空格。
业务对象抛出异常,交给controller去处理,controller把异常变成页面的错误显示信息。
现场编写这个撰文的工作流应用花了较长时间,也出了许多问题,最后没有完全做完,意思到了就可以了。
接着演示了JBPM工作流的designer和engine的使用,以便学员们可以对工作流进行更深入的研究。
最后演示了BIRD RCP报表工具。
关于梁老师的一个疑问:在EL表达式中如何引用常量?我在下课前为大家使用自定义标签来实现了一个Demo,其中一个小细节:在tag文件中应该调用jspContext对象,而不是调用pageContext对象。