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ボタンをクリックして、BlockFlowに移動して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

ブロックフローに、次のように入力できます。

<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を使用してブロックフローを呼び出すと、これらのパラメーターは、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 に答える