osworkflow跨步骤应用实例

工作流动作中都至少包含一个无条件结果“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中文手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值