前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMvc返回form表单提交

SpringMvc返回form表单提交

作者头像
王念博客
发布2019-07-24 10:32:15
2K0
发布2019-07-24 10:32:15
举报
文章被收录于专栏:王念博客王念博客

前言:在项目中需要后台处理完数据之后post 表单提交跳转到对方的前台页面,不管是银联网银支付还是第三方网银支付。这个时候就需要使用ResponseBody方法模拟form表单提交。

代码:

代码语言:javascript
复制
    /**
	 * 网银支付
	 */
	@RequestMapping("/pay")
	@ResponseBody
	public String  doPay(){
		Map<String,String> map=new HashMap<String,String>();
		map.put("name","name");
		StringBuffer send = new StringBuffer();
		send.append("<html><head><meta http-equiv=\"content-type\" content=\"text/html;
                charset=UTF-8\"/><title> </title></head><body>");
                send.append("<form name=\"AutoSubmitForm\" action=\"").append(url).append("\" method=\"post\" >");
		send.append(FormUtil.MaptoInput(map));
		send.append("</form>");
		send.append("<script type=\"text/javascript\" >");
		send.append("document.AutoSubmitForm.submit();");
		send.append("</script>");
		send.append("</body></html>");
		return send.toString();
	}

formUtil工具类

代码语言:javascript
复制
/**
     *将MAP拼接成input标签
     * @param map
     * @return
     */
    public static String MaptoInput(Map<String,String> map){
        StringBuffer stringBuffer=new StringBuffer();
        for (String key : map.keySet()) {
            String value =  map.get(key);
            stringBuffer.append(toInput(key, value));
        }
        return stringBuffer.toString();
    }
 
    /**
     * 转换为表单隐藏input域
     *
     * @param name
     * @param value
     * @return
     */
    public static String toInput(String name, String value) {
        return new StringBuffer("<input type=\"hidden\" name=\"").append(name).append("\" value=\"").append(value).append("\" />").toString();
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档