2012-12-19 44 views
3

我有主幹線流量:如何發送參數子流在春季Webflow的

<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我想去到塊流和編輯塊。

我想使它成爲子流。

塊流:

<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和路徑如上所述。

回答

3

在你的格擋流,你可以把:

<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>

也FYI您可以使用<input name="visibility" type="java.util.ArrayList"/><input name="tree" value="folderBean.treeAsMap"/>並完全擺脫您的<on-start>

+1

flowScope只能在特定Flow內訪問,我們需要conversationFlow – shevchyk

+1

爲什麼您需要在Route Flow中使用這些變量?我不明白爲什麼我的回答不適合你 – rptmat57