activiti实战系列之动态表单 formService 自定义变量类型

目前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>

猜你喜欢

转载自www.cnblogs.com/liaojie970/p/9055072.html