osworkflow跨步骤应用实例

来源:互联网 发布:淘宝助理6.0 官方 编辑:程序博客网 时间:2024/05/29 13:16

工作流动作中都至少包含一个无条件结果“unconditional-result”,意为指定在无条件的情况下工作流将要进行的下一步动作。
当需要指定条件时需指定conditional-result,当条件满足时则会执行该流转步骤。
condition 标签需要包含在conditions中,每个condition返回一个布尔值。当需要多个condition时,需要在conditions标签上加入 type属性,并指明AND或OR,分别为判断条件中的“与”和“或”的关系。

当遇到需要跳过下步工作流时,需要在result中加入condition条件。当有多个condition时需要使用conditions 标签的type属性指明判断方式,实例中注释部分有相关说明。
下面是工作流配置实例:

<step id="1" name="演示步骤">    <actions>        <action id="20" name="审核通过">            <restrict-to>                <conditions>                    <condition type="spring">                        <arg name="group">ROLE_ALL</arg>                        <arg name="bean.name">userRoleCondition</arg>                    </condition>                </conditions>            </restrict-to>            <pre-functions>                <function type="class">                    <arg name="class.name">com.opensymphony.workflow.util.Caller</arg>                </function>            </pre-functions>            <results>                <result old-status="Finished" status="Underway" step="2">                    <!-- type有两个值,AND/OR当又多个condition时作为判断条件 -->                    <conditions type="AND">                        <!-- 如果该返回值为false则不执行本result -->                        <condition type="spring">                            <arg name="bean.name">NewCondition</arg>                        </condition>                    </conditions>                    <post-functions>                        <function type="spring">                            <arg name="subStatus">2</arg>                            <arg name="bean.name">workflowStatusFunction</arg>                        </function>                    </post-functions>                </result>                <!-- 如果没有匹配的则执行该conditional-result -->                <unconditional-result old-status="Finished"                    status="Underway" step="4">                    <post-functions>                        <function type="spring">                            <arg name="subStatus">3</arg>                            <arg name="bean.name">workflowStatusFunction</arg>                        </function>                    </post-functions>                </unconditional-result>            </results>        </action>        <!-- ...其他操作 -->    </actions></step>

附:点击下载osworkflow中文手册

0 0
原创粉丝点击