目前Activiti默认支持的类型有String,long,enum,date,boolean,collection
要自定义字段类型,首先需要表单类型解析类
/** * @Author:LJ * @Description: activiti Javascript类型表单字段 * @Date: 2018/5/17 * @Modified By: */ public class JavascriptFormType extends AbstractFormType { /** * 把表单中的值转换为实际的对象 * @param propertyValue * @return */ @Override public Object convertFormValueToModelValue(String propertyValue) { return propertyValue; } /** * 把实际对象的值转换为表单中的值 * @param modelValue * @return */ @Override public String convertModelValueToFormValue(Object modelValue) { return (String) modelValue; } /** * 定义表单类型的标识符 * * @return */ @Override public String getName() { return "javascript"; } }
第二、在流程引擎中注册解析类
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
.... <!-- 自定义表单字段类型 --> <property name="customFormTypes"> <list> <bean class="me.kafeitu.activiti.form.JavascriptFormType" /> </list> </property> </bean> </beans>