2016-05-11 3 views
0

Я перенаправляю на внешний url из контроллера Spring, и это действие должно быть POST-типом.Переадресация на внешний URl весной MVC по RequestMethod.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); 

}

я должен был создать запрос POST, но это действие в ГЭТ.

+0

Есть вопрос здесь? – Lee

ответ

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> 
Смежные вопросы