根据Activiti用户指南
Field Injection
部分
可以将值注入委托的字段
类。支持以下类型的注入:
看起来不可能直接注入布尔值。我认为在你的情况下,解决办法是扩大
ScriptTaskListener
,例如。
public class CustomScriptTaskListener extends ScriptTaskListener {
private Expression autoStoreVariablesExp;
public void setAutoStoreVariablesExp(Expression autoStoreVariablesExp) {
this.autoStoreVariablesExp = autoStoreVariablesExp;
}
@Override
public void notify(DelegateTask delegateTask) {
autoStoreVariables = Boolean.TRUE.equals(autoStoreVariablesExp.getValue(delegateTask));
super.notify(delegateTask);
}
}
并用注入价值
<activiti:field name="autoStoreVariablesExp" expression="${true}"/>
.