Struts2中如何接收另一個action 或者JSP頁面經過POST方法傳過來的字符串


經驗總結:

最近在用struts2 寫接口,要給請求者返回一個json字符串,但是,請求是用POST請求的,各種方法嘗試,最后終於得到了答案:

/**
     * 封裝接收客戶端傳過來的post數據
     * @param ctx ActionContext的對象 
     * @return
     */
    public static String getRequestBody(ActionContext ctx){
        try {
            HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
            InputStream inputStream = request.getInputStream();
            String strMessage = "";
            StringBuffer buff = new StringBuffer();
            BufferedReader bufferReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8")); 
            while((strMessage = bufferReader.readLine()) != null){
                buff.append(strMessage);
            }
            bufferReader.close();
            inputStream.close();
            return buff.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

經過這個方法后,在另一個需要使用到POST的json的時候,只需要

ActionContext ctx = ActionContext.getContext();
String json = getRequestBody(ctx);

上面那個json就是POST中的json數據.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM