看了activiti官网使用文档,看了前两章还挺舒服的,看到第三章,忽然开始讲配置了,一脸懵逼呀有木有,虽然部署好了activiti-app.war,可是仍是不清楚怎么进行部署,启动,给事件分配表单等。通过几天的探索和搜索资料,如今将官网demo应用activiti-app.war的使用作了总结,并作了一点点的扩展-加入自定义的spring-mvc配置,以访问自定义的controller,实现些自定义的业务前端
1、集成activiti-app到本身项目中java
1.1 解压activiti-app.war,并将其中的前端文件和libs中的jar包copy到本身项目中
mysql
1.二、将web.xml 也copy到本身项目中
web
1.3 在resources目录下新建spring-mvc.xml和META-INF/activiti-app/activiti-app.properties
spring
spring-mvc.xml配置以下sql
<?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
express
web.xml配置以下
spring-mvc
<!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>
2、activiti-app使用mvc
首先启动应用,访问 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设置,设置完成后,保存便可
至此,流程定义已完成,接下来咱们要完成部署和启动该流程。