2011-05-24 83 views
1

我有如下的MVC控制器,並將/home映射到該控制器。要重定向到/home從流程我使用externalRedirect:contextRelative:/homeview屬性。有可能通過POST將一些數據傳遞給/homeSpring WebFlow:POST從流程到MVC控制器

MVC控制器

@Controller 
public class MainController { 

    @RequestMapping(value="/home", method=RequestMethod.POST) 
    public String index(@RequestParam String data) { 
     return "index"; 
    } 
} 

流量

<end-state id="home" view="externalRedirect:contextRelative:/home" /> 

回答

1

當你指定externalRedirect:春Webflow的是要設定一個重定向代碼和Location頭在你的只是簡單地指示瀏覽器執行GET請求的響應爲指定的位置。您可以包含附加到此位置的查詢參數,但不包括POST數據。

例如:

<end-state id="home" view="externalRedirect:contextRelative:/home?foo=bar" /> 

另外請注意,您可以在此字符串,將反對該請求予以評價$ {}表達式,根據XSD

+0

謝謝。你有任何想法如何將多個查詢參數從流量傳遞給mvc控制器嗎? – marioosh 2011-05-25 05:43:25

+0

@marioosh您可以使用會話或持久存儲(DB)。但是我認爲你可能想退後一步並評估你實際做了什麼--Webflow允許你在請求之間存在數據,給你一個有狀態的對話。如果您需要將這些數據傳遞給另一個控制器,那麼聽起來您可能只需要將另一個步驟合併到流程中(而不是其他控制器)。 – David 2011-05-25 14:31:24

+0

所以沒有辦法使用post方法(爲了從url中隱藏請求params)?? – Mitchapp 2016-04-19 14:56:27