一步一步学JBPM(10)——JBPM表单属性

在做流程的时候,不能不用到表单。流程+表单才能组成一个完整的系统。既然要做成流程,就不想把代码写的太死。幸好JBPM给我们提供了一套它的表单机制,你可以在Task节点上配置你地表单。这样在任务到达这个节点的时候,使用JBPM内部的方法,拿到表单对应的路径,这样就能取出表单。

 

下面是我在项目中使用的一个实例:

1:在JPDL中配置表单。

   <task assignee="kezhang001"form="/service/plan/start/getTask" g="238,221,92,52"name="科长审批">
                  <assignment-handlerclass="com.zhjy.bpm.Listener.TaskListener">
                          <fieldname="msg">
                          <!--这个变量标志该流程是计划审批流程,相对于的是项目PROJECT,在流程变量中获取就行-->
                                  <stringvalue="PLAN"/>
                          </field> 
</assignment-handler>
      <transition g="-67,-14"name="提交给主任" to="主任审批"/>
   </task>

Task 使用form属性配置表单的请求链接。这个链接通常是一个Action请求。从后台得到数据然后返回到jsp页面。

2:获取表单

public StringgetProcessDefinitionForm(String taskId) {
 Task task = taskService.getTask(taskId);
 return task.getFormResourceName();
}

首先根据任务Id获取任务对象,然后使用getFormResourceName()方法直接取出当前任务节点的form

这样在url中就可以使用这个表单。

 

最后说明一点,很多网上的例子都是显示一个jsp页面。比如在form属性配置

Form="a.jsp"。其实这个只能做一个演示,而且还很容易误导别人。光显示一个空的jsp页面是没有意义的。所以这个属性通常配置一个action请求。比如a.do的请求。取出以后还有在属性结尾使用拼接字符串的方式传递查询参数。这样得到的才是一个合理的数据显示页面。

你可能感兴趣的:(一步一步学JBPM(10)——JBPM表单属性)