如何使控制器方法通过发布请求重定向到其他网站?
@RequestMapping("/link)
public RedirectView goToTheSite(ModelMap model) {
model.put("name", "wow");
return new RedirectView("https://www.thesite.com", true, false, false);
}
但是,这不起作用, 如何以正确的方式做到这一点?
答案 0 :(得分:3)
如何使控制器方法通过帖子重定向到其他站点 请求?
重定向意味着您告诉浏览器发出GET请求,Spring MVC中没有开箱即用的功能来从控制器发出POST请求。
如何以正确的方式做到这一点?
Request.Post("https://www.thesite.com/login")
.bodyForm(Form.form().add("username", "vip").add("password", "secret").build())
.execute().returnContent();
答案 1 :(得分:1)
发送POST的唯一方法是将填充的HTML表单发送到浏览器,action参数指向新站点,方法=" POST"。
<form name="myform" action="https://www.thesite.com" method="post">
<input name="name" type="hidden" value="true" />
<input name="phone" type="hidden" value="false" />
<input name="phone" type="hidden" value="false" />
<noscript>
<input type="submit" value="Click here to continue" />
</noscript>
</form>
然后添加javascript以自动提交表单:
<script type="text/javascript">
$(document).ready(function() {
document.myform.submit();
});
</script>