2011-05-24 60 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