Activiti6--[6]使用动态表单表达式属性_3

前提

实现了最基本的动态表单配置,此时回过头来看activiti里面的动态表单配置,发现里面有两个配置属性,第一个是表达式,第二个是变量。
这两个的意思理解了一下,将组件的值与变量关联,然后通过表达式获取或者通过表达式将数据绑定给某个变量。

acitivit官网关于表达式的描述:
分别是4.7章节和spring整合中的5.3章节。
为了方便阅读,给出activiti5版本的中文地址:http://www.mossle.com/docs/activiti/index.html
在这里插入图片描述
在这里插入图片描述

目的

只是为了了解变量、表达式的使用以及怎么解析的表达式,为了方便以后做拓展。
通过阅读官方文档,
表达式支持:value-el,method-el也就是值表达式,方法表达式。
有内置三个变量可以在表达式中使用:execution,task,authenticatedUserId。

变量的使用

普通变量

通过之前的步骤,发现如果启动节点和审核节点的表单名称id是一致的,则会在下一个流程中自动查出上一个流程中与之匹配名字的表单数据。现在为启动节点加上变量名进行操作:

更新流程

开始节点

分别在对应的位置填写对应的变量
username->请假人-> 变量 :name
leave_date_start->请假开始日期-> 变量:startDate
leave_date_end->请假结束日期-> 变量:endDate
days->请假天数-> 变量:leaveDays
在这里插入图片描述

审核节点

分别在对应的位置填写对应的表达式
username->请假人-> 变量 :#{name}
start_date->请假开始日期-> 变量:#{startDate}
end_date->请假结束日期-> 变量:#{endDate}
leave_days->请假天数-> 变量:#{leaveDays}
在这里插入图片描述

效果

正常回显。
在这里插入图片描述
考虑:如果加入一个审核人,那么在动态表单中使用的表达式为
#{authenticatedUserId} 即可。

表达式中的对象变量

对象变量的意思是获取该对象变量中的某个属性作为值。然后在这里有普通对象和Spring的bean对象两种。下面验证两种方式

更新流程

开始节点

删掉配置的变量名。

审核节点

分别在对应的位置填写对应的表达式
username->请假人-> 变量 :#{info.name}
start_date->请假开始日期-> 变量:#{info.startDate}
end_date->请假结束日期-> 变量:#{info.endDate}
leave_days->请假天数-> 变量:#{info.leaveDays}
在这里插入图片描述

代码

普通JavaBean对象

在发起成功的时候获取返回的流程实例,根据流程实例id设置变量名为info,值为user。
在这里插入图片描述

class User  implements Serializable {
   
    private String name =
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是 activiti-explorer 和 mysql 的集成示例工程使用过程图解: 1. 下载并解压 activiti-explorer.war 文件,将其放入 Tomcat 服务器的 webapps 目录下。 2. 创建一个名为 activiti 的数据库,并将以下 SQL 语句执行: ``` CREATE TABLE `ACT_RE_DEPLOYMENT` ( `ID_` varchar(64) NOT NULL, `NAME_` varchar(255) DEFAULT NULL, `DEPLOY_TIME_` datetime DEFAULT NULL, PRIMARY KEY (`ID_`) ); CREATE TABLE `ACT_RE_PROCDEF` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `CATEGORY_` varchar(255) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `KEY_` varchar(255) DEFAULT NULL, `VERSION_` int(11) DEFAULT NULL, `DEPLOYMENT_ID_` varchar(64) DEFAULT NULL, `RESOURCE_NAME_` varchar(4000) DEFAULT NULL, `DGRM_RESOURCE_NAME_` varchar(4000) DEFAULT NULL, `DESCRIPTION_` varchar(4000) DEFAULT NULL, `HAS_START_FORM_KEY_` tinyint(4) DEFAULT NULL, `HAS_GRAPHICAL_NOTATION_` tinyint(4) DEFAULT NULL, `SUSPENSION_STATE_` int(11) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_PROCDEF_DEPLOYMENT` (`DEPLOYMENT_ID_`), CONSTRAINT `ACT_FK_PROCDEF_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_GE_BYTEARRAY` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `BYTES_` longblob, `DEPLOYMENT_ID_` varchar(64) DEFAULT NULL, `GENERATED_` tinyint(4) DEFAULT NULL, PRIMARY KEY (`ID_`), KEY `ACT_IDX_BYTEARRAY_DEPLOYMENT` (`DEPLOYMENT_ID_`), CONSTRAINT `ACT_FK_BYTEARR_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_HI_ACTINST` ( `ID_` varchar(64) NOT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `PROC_INST_ID_` varchar(64) DEFAULT NULL, `EXECUTION_ID_` varchar(64) DEFAULT NULL, `ACT_ID_` varchar(255) DEFAULT NULL, `TASK_ID_` varchar(64) DEFAULT NULL, `CALL_PROC_INST_ID_` varchar(64) DEFAULT NULL, `ACT_NAME_` varchar(255) DEFAULT NULL, `ACT_TYPE_` varchar(255) DEFAULT NULL, `ASSIGNEE_` varchar(255) DEFAULT NULL, `START_TIME_` datetime DEFAULT NULL, `END_TIME_` datetime DEFAULT NULL, `DURATION_` bigint(20) DEFAULT NULL, `DELETE_REASON_` varchar(4000) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_HI_ACT_INST_PROC_INST` (`PROC_INST_ID_`), KEY `ACT_IDX_HI_ACT_INST_EXECUTION` (`EXECUTION_ID_`), KEY `ACT_IDX_HI_ACT_INST_TASK` (`TASK_ID_`), CONSTRAINT `ACT_FK_HI_ACTINST_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_HI_PROCINST` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_HI_ACTINST_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_HI_ACTINST` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_HI_PROCINST` ( `ID_` varchar(64) NOT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `BUSINESS_KEY_` varchar(255) DEFAULT NULL, `START_TIME_` datetime DEFAULT NULL, `END_TIME_` datetime DEFAULT NULL, `DURATION_` bigint(20) DEFAULT NULL, `START_USER_ID_` varchar(255) DEFAULT NULL, `END_ACT_ID_` varchar(255) DEFAULT NULL, `DELETE_REASON_` varchar(4000) DEFAULT NULL, `SUPER_PROCESS_INSTANCE_ID_` varchar(64) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_HI_PRO_INST_BUSKEY` (`BUSINESS_KEY_`), KEY `ACT_IDX_HI_PROC_INST_START` (`START_TIME_`), KEY `ACT_IDX_HI_PROC_INST_END` (`END_TIME_`), KEY `ACT_IDX_HI_PROC_INST_SUPER` (`SUPER_PROCESS_INSTANCE_ID_`), CONSTRAINT `ACT_FK_HI_PROCINST_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_HI_TASKINST` ( `ID_` varchar(64) NOT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `TASK_DEF_KEY_` varchar(255) DEFAULT NULL, `PROC_INST_ID_` varchar(64) DEFAULT NULL, `EXECUTION_ID_` varchar(64) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `PARENT_TASK_ID_` varchar(64) DEFAULT NULL, `DESCRIPTION_` varchar(4000) DEFAULT NULL, `OWNER_` varchar(255) DEFAULT NULL, `ASSIGNEE_` varchar(255) DEFAULT NULL, `START_TIME_` datetime DEFAULT NULL, `CLAIM_TIME_` datetime DEFAULT NULL, `END_TIME_` datetime DEFAULT NULL, `DURATION_` bigint(20) DEFAULT NULL, `DELETE_REASON_` varchar(4000) DEFAULT NULL, `PRIORITY_` int(11) DEFAULT NULL, `DUE_DATE_` datetime DEFAULT NULL, `FORM_KEY_` varchar(255) DEFAULT NULL, `CATEGORY_` varchar(255) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_HI_TASK_INST_PROC_DEF` (`PROC_DEF_ID_`), KEY `ACT_IDX_HI_TASK_INST_PROC_INST` (`PROC_INST_ID_`), KEY `ACT_IDX_HI_TASK_INST_EXEC` (`EXECUTION_ID_`), KEY `ACT_IDX_HI_TASK_INST_DELETE` (`DELETE_REASON_`), KEY `ACT_IDX_HI_TASK_INST_END` (`END_TIME_`), KEY `ACT_IDX_HI_TASK_INST_NAME` (`NAME_`), KEY `ACT_IDX_HI_TASK_INST_PRIORITY` (`PRIORITY_`), CONSTRAINT `ACT_FK_HI_TASKINST_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_HI_PROCINST` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_HI_TASKINST_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_HI_TASKINST_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_RU_EXECUTION` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `BUSINESS_KEY_` varchar(255) DEFAULT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `ACT_ID_` varchar(255) DEFAULT NULL, `IS_ACTIVE_` tinyint(4) DEFAULT NULL, `IS_CONCURRENT_` tinyint(4) DEFAULT NULL, `IS_SCOPE_` tinyint(4) DEFAULT NULL, `IS_EVENT_SCOPE_` tinyint(4) DEFAULT NULL, `PARENT_ID_` varchar(64) DEFAULT NULL, `SUPER_EXEC_` varchar(64) DEFAULT NULL, `PROC_INST_ID_` varchar(64) DEFAULT NULL, `ROOT_PROC_INST_ID_` varchar(64) DEFAULT NULL, `REV_PARENT_TASK_` varchar(64) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `LOCK_TIME_` datetime DEFAULT NULL, `IS_COUNT_ENABLED_` tinyint(4) DEFAULT NULL, `SUSPENSION_STATE_` int(11) DEFAULT NULL, `CACHED_ENT_STATE_` int(11) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_EXEC_BUSKEY` (`BUSINESS_KEY_`), KEY `ACT_IDX_EXEC_PROCINST` (`PROC_INST_ID_`), KEY `ACT_IDX_EXEC_SUPER` (`SUPER_EXEC_`), KEY `ACT_IDX_EXEC_ROOT_PROC` (`ROOT_PROC_INST_ID_`), KEY `ACT_IDX_EXEC_ACT` (`ACT_ID_`), KEY `ACT_IDX_EXEC_PARENT` (`PARENT_ID_`), CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_RU_TASK` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `PARENT_TASK_ID_` varchar(64) DEFAULT NULL, `DESCRIPTION_` varchar(4000) DEFAULT NULL, `TASK_DEF_KEY_` varchar(255) DEFAULT NULL, `OWNER_` varchar(255) DEFAULT NULL, `ASSIGNEE_` varchar(255) DEFAULT NULL, `DELEGATION_` varchar(64) DEFAULT NULL, `PRIORITY_` int(11) DEFAULT NULL, `CREATE_TIME_` datetime DEFAULT NULL, `DUE_DATE_` datetime DEFAULT NULL, `CATEGORY_` varchar(255) DEFAULT NULL, `SUSPENSION_STATE_` int(11) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_TASK_PROCINST` (`PROC_INST_ID_`), KEY `ACT_IDX_TASK_EXEC` (`EXECUTION_ID_`), KEY `ACT_IDX_TASK_NAME` (`NAME_`), KEY `ACT_IDX_TASK_ASSIGNEE` (`ASSIGNEE_`), KEY `ACT_IDX_TASK_CREATE_TIME` (`CREATE_TIME_`), KEY `ACT_IDX_TASK_OWNER` (`OWNER_`), CONSTRAINT `ACT_FK_TASK_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_TASK_PARENT` FOREIGN KEY (`PARENT_TASK_ID_`) REFERENCES `ACT_RU_TASK` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_GE_PROPERTY` ( `NAME_` varchar(64) NOT NULL, `VALUE_` varchar(300) DEFAULT NULL, `REV_` int(11) DEFAULT NULL, PRIMARY KEY (`NAME_`) ); ``` 3. 修改 activiti-explorer.war 文件下 WEB-INF/classes 目录下的 db.properties 文件,将其中的数据库配置改为: ``` db=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/activiti?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true jdbc.username=root jdbc.password=root ``` 其中,jdbc.url 中的数据库名应改为自己创建的数据库名称,jdbc.username 和 jdbc.password 应改为自己的数据库用户名和密码。 4. 启动 Tomcat 服务器,访问 http://localhost:8080/activiti-explorer 即可使用 activiti-explorer 示例工程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值