2

我是 Spring Webflow 的新手,我正在尝试修改现有流程以根据多个规则检查用户对使用流程的授权。似乎没有一种明显的(广泛记录的)方法可以从评估过渡到某种结束条件。我理解的转换在开始时是不允许的。除了抛出异常之外,还有一种优雅的过渡方式吗?谢谢。

这是为编辑创建的表单。我将授权检查代码添加到引用的方法中。我可以在此之前添加一个单独的评估来检查授权,但我仍然有过渡问题。

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

>

4

1 回答 1

5

你并不总是需要<on-start>. 您可以将决策状态作为起始状态,并在该决策状态中检查您的条件是真还是假,如果为真,则转换到您的视图状态或其他状态,如果不转换到带有视图的结束状态。

假设你
在这个文件中调用你的流 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>
于 2013-03-14T21:29:38.070 回答