使用response將html拼接頁面寫到當前瀏覽器端完成自動提交功能


 

/**

    * 准備中間頁面所需參數

    * add by linyan  2014-9-22

    * @param url

    * @param params

    * @param charset

    * @return

    */

   public static String[] operateParameter(String url,Map<String, String> params,String charset){

      String[] ret=new String[2];

      if(url!=null&&!"".equals(url)){

        if(charset!=null&&!"".equals(charset)){

           StringBuffer sb=new StringBuffer();

           String parameterUtil=getParams(params,charset);

           sb.append("<html>");

           sb.append("<head>");

           sb.append("<script type=\"text/javascript\">");

           sb.append("function redirectUrl() {");

           sb.append("document.form0.submit();");

           sb.append("}");

           sb.append("</script>");

           sb.append("</head>");

           sb.append("<body onload=\"redirectUrl()\">");

           sb.append("<form name=\"form0\" action=\""+url+"\" method=\"post\">");

           if(parameterUtil!=null){

              sb.append(parameterUtil);

           }

           sb.append("</form>");

           sb.append("</body>");

           sb.append("</html>");

           ret[0]=ThirdPayConstants.RECOD_SUCCESS;

           ret[1]=sb.toString();

           System.out.println("報文===="+sb.toString());

           //把當前拼接的html參數通過response寫到當前頁面  完成自動提交功能

           reponseWrite(sb.toString(),charset);

        }else{

           ret[0]=ThirdPayConstants.RECOD_FAILD;

           ret[1]="form表單編碼方式不存在";

        }

      }else{

        ret[0]=ThirdPayConstants.RECOD_FAILD;

        ret[1]="url不存在";

      }

      return ret;

   }

 

/**

    * 獲取中間頁面的form表單參數

    * @param params

    * @return

    */

   private static String getParams(Map<String, String> params,String charset) {

      // TODO Auto-generated method stub

      String htmlParamss=null;

      try{

        if(params!=null){

           StringBuffer sb=new StringBuffer();

           Iterator iter = params.entrySet().iterator();

           while (iter.hasNext()) {

               Map.Entry entry = (Map.Entry) iter.next();

               Object key = entry.getKey();

               Object val = entry.getValue();

               sb.append("<input type=\"hidden\" name='"+key.toString()+"\' value='"+val.toString()+"' />");

           }

           htmlParamss=sb.toString();

        }

      }catch(Exception e){

        e.printStackTrace();

      }

     

      return htmlParamss;

   }

 

/**

    * 使用response將html拼接頁面寫到當前瀏覽器端完成自動提交功能

    * @param htmlParamss

    * @param charset

    */

   public static void reponseWrite(String htmlParamss,String charset) {

      try {

        HttpServletResponse response = ServletActionContext.getResponse();

        response.setContentType("text/html; charset=utf-8");

        PrintWriter pw;

        pw = response.getWriter();

        pw.write(htmlParamss) ;

        pw.flush() ;

        pw.close() ;

      } catch (IOException e) {

        e.printStackTrace();

       

      }

     

   }

 


免責聲明!

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



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