使用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