SpringMvc返回form表单提交

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

代码:

    /**
	 * 网银支付
	 */
	@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工具类

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

博客地址:http://my.oschina.net/wangnian

转载于:https://my.oschina.net/wangnian/blog/666633

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值