如何查看一个网站是用什么程序做的,论坛网站开发demo,天网网站建设,分类目录网站做排名首先是流程定义图#xff1a; 重点关注一下流程节点中 Script Task 节点的 properties中的Main config
这里可以选择不同的脚本语言#xff0c;由于其他的部怎么会就用javascript来吧。 从图中可以看出只是定义了一个变量x#xff0c;它的值为 a;
很多人都说这样定义了这个…首先是流程定义图 重点关注一下流程节点中 Script Task 节点的 properties中的Main config
这里可以选择不同的脚本语言由于其他的部怎么会··就用javascript来吧。 从图中可以看出只是定义了一个变量x它的值为 a;
很多人都说这样定义了这个变量以后就可以在流程中获得这个变量。所以我进行了测试。结果如下 package final_activiti.progress;import org.activiti.engine.impl.test.PluggableActivitiTestCase;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.Deployment;
import org.junit.Test;public class ScriptTaskTest extends PluggableActivitiTestCase {TestDeployment(resources final_activiti/progress/ScriptTask.bpmn)public void test() {ProcessInstance p runtimeService.startProcessInstanceByKey(javascript);Task task taskService.createTaskQuery().singleResult();assertTrue(a.equals(taskService.getVariable(task.getId(), x)));}}断言的结果是错误的 输出一下的话可以看到居然是null鼓捣了半天以后在xml中发现了这样的语句----
scriptTask idscripttask1 nameScript Task scriptFormatjavascript activiti:autoStoreVariablesfalse scriptvar x a; /script /scriptTask
标红的部分貌似在表示自动把标量方到流程中在这里是被禁止的那就改为true吧。结果还是有问题。测试结果是这样的 额这个错误找了半天也没有明白是怎么个意思。自己水平有限希望有知道的大神赐教。怎么办呢然后就看了API然后看到activiti自己都说这个怎么怎么存在问题然后说什么最佳实践是把那个设置为fasle手动把变量加入到流程中。然后重新鼓捣··自己只能做到下面这种程度了至于那个自动有待研究呵呵。 execution.setVariable(x,x);这句话就是把变量放到流程中的语句。
然后是测试代码 package final_activiti.progress;import org.activiti.engine.impl.test.PluggableActivitiTestCase;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.Deployment;
import org.junit.Test;public class ScriptTaskTest extends PluggableActivitiTestCase {TestDeployment(resources final_activiti/progress/ScriptTask.bpmn)public void test() {ProcessInstance p runtimeService.startProcessInstanceByKey(javascript);Task task taskService.createTaskQuery().singleResult();assertTrue(a.equals(taskService.getVariable(task.getId(), x)));assertTrue(10D (Double) taskService.getVariable(task.getId(), y));taskService.complete(task.getId());assertProcessEnded(p.getId());}}测试结果