通过RequestMethod.POST重定向到Spring MVC中的外部URl

时间:2016-05-11 08:46:36

标签: java spring-mvc

我将从spring控制器重定向到外部URL,此操作必须是POST类型。

我的控制员:

@ResponseBody
@RequestMapping(value = "/purchase", method = RequestMethod.POST)
public ModelAndView purchase(@RequestParam(value = "RefId", required = true) String RefId){
 String url="https://bpm.shaparak.ir/pgwchannel/startpay.mellat?RefId=" + refId;
                RedirectView redirectView = new RedirectView();
                redirectView.setUrl(url);

                return new ModelAndView(redirectView);

}

我应该在GET中创建POST请求但是这个动作。

1 个答案:

答案 0 :(得分:0)

RedirectView类已经创建了GET操作,它无法发出POST请求。

我将refId放在ModelMap对象中并重定向到jsp。

   map.put("refId", refId);

因此,当页面加载后,创建帖子请求表单提交。

  $(document).ready(function () {
      if (${not empty refId}) {
          var refId = ('${refId}');
          document.getElementById('bank-card-form').action = 'https://bpm.shaparak.ir/pgwchannel/startpay.mellat?RefId=' + refId;
          document.getElementById('bank-card-form').submit();

    }
   });

在我的jsp中添加了银行卡形式

 <form method="post" id="bank-card-form"
      style="display: none" autocomplete="off">
  </form>