在SpringWebFlow中,如何从启动时失败的转换

在SpringWebFlow中,如何从启动时失败的转换,spring,spring-webflow,Spring,Spring Webflow,我是SpringWebFlow的新手,我正在尝试修改一个现有的流,以根据几个规则检查用户使用该流的授权。似乎没有一种明显的(广泛记录的)从评估过渡到某种最终条件的方法。据我所知,启动时不允许进行转换。除了抛出异常,还有一种优雅的过渡方式吗?谢谢 下面是一个表单,它是为编辑而创建的。我将授权检查代码添加到引用的方法中。我可以在这之前添加一个单独的evaluate来检查授权,但我仍然有转换问题 <on-start> <evaluate expression="

我是SpringWebFlow的新手,我正在尝试修改一个现有的流,以根据几个规则检查用户使用该流的授权。似乎没有一种明显的(广泛记录的)从评估过渡到某种最终条件的方法。据我所知,启动时不允许进行转换。除了抛出异常,还有一种优雅的过渡方式吗?谢谢

下面是一个表单,它是为编辑而创建的。我将授权检查代码添加到引用的方法中。我可以在这之前添加一个单独的evaluate来检查授权,但我仍然有转换问题

<on-start>
    <evaluate        expression="solutionCreateEditFlowHelper.findDocumentForEdit(requestParameters.solutionId)" result="flowScope.documentForm"></evaluate>

>
您并不总是需要
。您可以将决策状态作为起始状态,并在该决策状态内检查您的条件是否为真,如果为真,则转换到视图状态或其他状态,如果不是转换到视图的结束状态

假设您调用流documentFlow.xml
在该文件中,您放置了一个决策状态,如下所示:

<input name="solutionId" type="long" />

<decision-state id="isDocumentFormSet">
<on-entry>
    <evaluate expression="solutionCreateEditFlowHelper.findDocumentForEdit(solutionId)" result="flowScope.documentForm"/>
</on-entry>
    <if test="documentForm == null" then="chooseDocument" else="noDocument"/>
</decision-state>

<end-state id="noDocument"/>

<view-state id="chooseDocument">
....
</view-state>

....