2017-04-06 71 views
0

我要張貼到URL,但以下使得它作爲GET,所以我怎麼可以張貼如何使用javax.portlet.ActionResponse.sendRedirect方法發送java中的Post請求?

Object portletResponse = webAppAccess.getHttpServletRequest() 
      .getAttribute(Constants.PORTLET_RESPONSE); 

    if (portletResponse instanceof javax.portlet.ActionResponse) { 
      javax.portlet.ActionResponse actionResponse = (javax.portlet.ActionResponse) portletResponse; 

      actionResponse.sendRedirect(URL); 
     } 
+0

重定向總是GET,根據定義。 –

回答

0

我已經通過使用FORM POST方法做到了這一點,如下所示。

webAppAccess.processPage("importedPage"); 

加在模型此導入頁:

<HTML> 
<HEAD> 
<title>New Page</title> 
</HEAD> 
<Body onload=""> 
<form id="FormID" method="POST" action="actionURL"> 
    <input type="hidden" name="id" id="ID" value="<%=webAppAccess.getVariables().getString("ID")%>"/> 
    <noscript> 
     <p>Your browser does not support JavaScript or it is disabled. 
      Please click the button below to process the request. 
    </p> 
     <input type="submit" value="Proceed " name ="submit"></input> 
    </noscript> 
    <script> 
    document.getElementById('FormID').submit(); 
    </script> 
</form> 

和如下然後MVC控制器映射:

@RequestMapping(value = {"/Details"}, method = RequestMethod.POST) 
public String mthDetails(final Model p_model, @RequestParam(value = "id", required = false) final String p_ID){ 

    //code for further logic using ID 
} 
0

您是否嘗試過使用RequestDispater代替response.sendRedirect是?

它保留原來的請求,而不改變它。

因此,如果它是POST,它將保持POST狀態。

+0

可以顯示如何使用它。 –

+0

,我想從WAS發送到tomcat –