4

我有主要的路线流程:

<view-state id="addRoute" model="route">

...
    <transition on="editBlock" to="editBlock" validate="false" bind="true">
       ...
    </transition>

</view-state>

<subflow-state id="editBlock" subflow="block">

</subflow-state>

通过单击 editBlock 按钮,我想转到 Block Flow 并编辑 Block。

我想把它做成子流。

块流:

<on-start>
    <set name="flowScope.id" value="requestParameters.id"/>
    <evaluate expression="new java.util.ArrayList()" result="flowScope.attributes"/>
    <evaluate expression="new java.util.ArrayList()" result="flowScope.visibility"/>
    <set name="flowScope.folderId" value="requestParameters.folderId"/>
    <set name="flowScope.path" value="requestParameters.path"/>
    <evaluate expression="folderBean.treeAsMap" result="flowScope.tree" />
</on-start>

如何将参数从主流发送到子流?我需要提供 3 个参数:

id、folderId 和路径,如上所述。

4

1 回答 1

4

在您的 Block FLOW 中,您可以输入:

<input name="id"/>
<input name="folderId"/>
<input name="path"/>

然后在您的路线流中,您可以这样使用它:

<subflow-state id="editBlock" subflow="block">
    <input name="id" value="flowScope.id"/>
    <input name="folderId" value="flowScope.folderId"/>
    <input name="path" value="flowScope.path"/>
</subflow-state>

此外,如果您使用参数 id=123&folderId=456&path=path 调用 Block Flow,那么这些参数将自动映射到 flowScope 中设置的同名输入。所以你不再需要这些set元素<on-start>了。

也仅供参考,您可以使用<input name="visibility" type="java.util.ArrayList"/>并完全<input name="tree" value="folderBean.treeAsMap"/>摆脱您的<on-start>

于 2012-12-19T13:54:55.017 回答