首页 技术 正文
技术 2022年11月12日
0 收藏 818 点赞 3,547 浏览 2029 个字

/**

* 准备中间页面所需参数

* 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();

}

}

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,495
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,909
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,741
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,496
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,134
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,298