如何在scripttask中设置变量?

时间:2014-08-13 07:06:45

标签: java javascript activiti

我在activiti中创建了一个进程,并在我的进程中的一个步骤中创建了一个脚本任务 我需要设置一些可变的变量,我不知道如何做到这一点。

我的脚本任务是将数据插入到mysql数据库表中。

所以我的问题是我可以在java类的脚本任务中设置变量吗?

这是我的脚本任务:         

      <script><![CDATA[

           importPackage(java.sql);
           importPackage(java.lang);
           importPackage(org.activiti.explorer.reporting);

           var p = ReportingUtil.getCurrentDatabaseConnection().prepareStatement("INSERT INTO risk VALUES (?, ?, ?)");


           p.setString(1, x);
           p.setString(2, y);
           p.setString(3, z);
           p.executeUpdate();


      ]]></script>

    </scriptTask>

需要设置的变量是x,y和z。

有关如何做到这一点的任何建议?

2 个答案:

答案 0 :(得分:0)

如果我没有误会,您应该能够创建一个公开所需值的Java类,然后将其作为bean添加到activiti.cfg.xml中。然后,您的脚本中可以使用您提供的ID获得该bean。

请参阅this thread from the activiti forum

答案 1 :(得分:0)

您可以在流程变量中设置x,y,z值,并使用API​​在脚本中获取它们。

x = execution.getVariable(&#39; procVarX n#39;)