我是Spring Webflow的新手,我正在尝试修改现有流程,以根据多个规则检查用户使用流程的授权。似乎没有一种明显的(广泛记录的)从评估过渡到某种终止条件的方法。我理解的转换不允许在开始时使用。抛出异常除了有一种优雅的过渡方式吗?感谢。
这是为编辑创建的表单。我将授权检查代码添加到引用的方法中。我可以在此之前添加一个单独的评估来检查授权,但我仍然有转换问题。
<on-start>
<evaluate expression="solutionCreateEditFlowHelper.findDocumentForEdit(requestParameters.solutionId)" result="flowScope.documentForm"></evaluate>
&GT;
答案 0 :(得分:5)
您并不总是需要<on-start>
。您可以将决策状态作为起始状态,并在条件为真或假的情况下检查该决策状态,如果为true则转换到您的视图状态或其他状态,如果没有转换到具有视图的结束状态。
让我们说你调用你的流文档Flow.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>