对于某些订阅流程,有以下要求:
可以使用<form/>
定义method = POST并将所有必需参数放在隐藏字段中来解决。
但是,我们已经安装了CMS,因此将现有视图更改为支持<form/>
会非常麻烦。
我希望可以通过以下方式提供一些解决方案:
如需更多信息,请与我们联系。
答案 0 :(得分:0)
如Spring Documentation中所述,您可以返回s.th.比如控制器中的redirect:http://myhost.com/some/arbitrary/path
。要动态执行此操作,请使用以下
@RequestMapping("/redirect")
protected String redirect(@RequestParam("url") String url)
{
return "redirect:" + redirectUrl;
}
当然,您可以自己实现一个特殊的RedirectService,但这应该很简单。
无法使用重定向将有效负载发送到另一个端点。重定向是响应代码为301,302,303,307,308的HTTP响应 - 每个都有不同的意图(有关其他信息,请参阅Wikipedia Statuscode)。客户有责任决定下一步做什么 - 例如使用相同的有效负载调用新位置。
答案 1 :(得分:0)
我想出了执行所需用例的方法。
要使用POST参数重定向视图,请参阅以下步骤
1)用户点击链接
2)首先将用户重定向到内部映射。(在重定向到外部端点之前,这将是一个中间GET请求)。
将所有必需参数附加到此端点
3)然后将视图转移到间歇表单页面,填充隐藏标签中的所有字段
4)加载页面后,使用POST方法将此表单提交到所需目的地。
通过这种方式,我们可以破解这一点。我认为这不是一种干净的方式,但如果我们必须这样做,就可以这样做。