如何使用spring mvc controller发帖请求?

时间:2015-03-13 16:25:42

标签: spring-mvc post

如何使控制器方法通过发布请求重定向到其他网站?

    @RequestMapping("/link)
    public RedirectView  goToTheSite(ModelMap model) {
        model.put("name", "wow");
        return new RedirectView("https://www.thesite.com", true, false, false);

    }

但是,这不起作用, 如何以正确的方式做到这一点?

2 个答案:

答案 0 :(得分:3)

  

如何使控制器方法通过帖子重定向到其他站点   请求?

重定向意味着您告诉浏览器发出GET请求,Spring MVC中没有开箱即用的功能来从控制器发出POST请求。

  

如何以正确的方式做到这一点?

使用Apache HTTP client

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>