activiti6.0官网activiti-app使用教程(一)

看了activiti官网使用文档,看了前两章还挺舒服的,看到第三章,突然开始讲配置了,一脸懵逼呀有木有,虽然部署好了activiti-app.war,但是还是不清楚怎么进行部署,启动,给事件分配表单等。经过几天的探索和搜索资料,现在将官网demo应用activiti-app.war的使用做了总结,并做了一点点的扩展-加入自定义的spring-mvc配置,以访问自定义的controller,实现些自定义的业务

一、集成activiti-app到自己项目中

1.1 解压activiti-app.war,并将其中的前端文件和libs中的jar包copy到自己项目中

1.2、将web.xml 也copy到自己项目中

1.3 在resources目录下新建spring-mvc.xml和META-INF/activiti-app/activiti-app.properties

spring-mvc.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">

   <!-- 自动扫描且只扫描@Controller -->
   <context:component-scan base-package="com.lab.controller" use-default-filters="false">
      <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
   </context:component-scan>

   <mvc:annotation-driven />

   <mvc:default-servlet-handler />

</beans>

activiti-app.properties内容入下(需要修改为自己数据库相应的配置)

datasource.driver=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://192.168.34.36:3306/activiti6ui?useUnicode=true&characterEncoding=utf8&useSSL=false
datasource.username=root
datasource.password=root

datasource.max-idle-time=100
#hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
#hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#hibernate.dialect=org.hibernate.dialect.DB2Dialect
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

1.4 在web.xml中加入如下配置,所有以/lab/开头的请求,都会走spring-mvc.xml中配置的controller

web.xml配置如下

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <listener>
    <listener-class>org.activiti.app.servlet.WebConfigurer</listener-class>
  </listener>
  <servlet>
    <servlet-name>springServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springServlet</servlet-name>
    <url-pattern>/lab/*</url-pattern>
  </servlet-mapping>
</web-app>

 

二、activiti-app使用

首先启动应用,访问 http://localhost:8080/activiti-app,进入到登录页面

输入admin/test,就可以进入到系统首页

首先点击菜单identity management,进入如下页面,在该模块中,创建两个用户lily和boss,如图所示

然后进入到KickStart app,点击进入kickstart App后,可以创建和导入流程定义和表单等,我们先创建两个表单:一个请假表单,一个老板批假表单,点击forms菜单,分别创建两个表单如下

创建完成后,点击forms,可以看到如下列表

接着,我们来定义一个最简单的请假流程:lily填写假单,boss批假流程。

点击processes菜单,然后点击右上角的create process按钮,就可以进入到流程编辑器了

流程定义编辑器打开后,就可以设计自己的流程了

单击"请假单"事件时,可以看到如下选项

单击Assignments时,显示如下图所示:

单击Referenced Form,显示如下图所示

选择“员工请假单”即可

同理可以完成“领导审批”事件对应的assignments和Referenced Form设置,设置完成后,保存即可

至此,流程定义已完成,接下来我们要完成部署和启动该流程。