一,html脚本

<script type="text/javascript">
$(function() {
$(".btn-submit").click(function() {
var url = '${rc.contextPath}/wxFfanApply.htm?method=save';
var param = $("#submitForm").serialize();
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: param,
async: false,
success: function(data){
if ("000" == data.code) {
alert("保存成功");
var url = '${rc.contextPath}/wxFfanApply.htm?method=preToMain';
document.getElementById('submitForm').action = url;
document.getElementById('submitForm').submit();
} else {
alert("保存出现异常,请重试");
}
}
});
});
});
</script>
<body>
<div class="page-upload">
<form id="submitForm" action="" method="post">
<input type="hidden" name="wxOpenId" value="${wxOpenId}"/>
<input type="hidden" name="applyId" value="${applyId}"/>
<input type="hidden" name="wxModuleType" value="${wxModuleType}"/>
<input type="hidden" name="fssId" id="fssId" />
<input type="hidden" name="originalFilename" id="originalFilename" />
<input type="hidden" name="imageType" id="imageType" />
<input type="hidden" name="companyType" id="companyType" />
<input type="button" class="btn-upload bg-business-license" name="yushow" id="yushow" value="点击上传营业执照" onclick="uploadBtn();">
<input type="file" name="upload" style="display:none;" onchange="previewImg(this);" id="upload" accept="image/*"/>
<ul class="info-list">
<li class="info-list-li">
<label class="lable-with-bg">注册号/信用代码</label>
<div class="li-right">
<input type="text" class="input-before-btn" placeholder="扫码可自动填充" name="businessRegno" value="${orderParam.businessRegno!}"/>
<button class="btn-scan"></button>
</div>
</li>
<li class="info-list-li">
<label>企业名称</label>
<input type="text" placeholder="请填写营业执照上的名称" name="merchantName" value="${orderParam.merchantName!}"/>
</li>
<li class="info-list-li">
<label>企业类型</label>
<div id="trigger1" >请选择</div>
</li>
<li class="info-list-li">
<label>法人/负责人名称</label>
<input type="text" placeholder="请填执照上负责人名称" name="legalName" value="${orderParam.legalName!}"/>
</li>
<li class="info-list-li">
<label>经营范围</label>
<input type="text" placeholder="请填执照上的经营范围" name="businessScope" value="${orderParam.businessScope!}"/>
</li>
<li class="info-list-li">
<label>注册地址</label>
<input type='text' id='sel_city' name="selCity"placeholder='请选择' />
</li>
<li class="info-list-li">
<label>详细地址</label>
<input type="text" placeholder="与营业执照地址一致" name="address" value="${orderParam.address!}"/>
</li>
<li class="info-list-li">
<label>有效期始</label>
<input id="startDate" name="startDate" class="select" placeholder="请选择开始日期"/>
</li>
<li class="info-list-li">
<label>有效期止</label>
<input id="endDate" name="endDate" class="select" placeholder="请选择开始日期"/>
</li>
<li class="info-list-li">
<label>三证合一</label>
<div class="li-right">
<div class="slide-block">
<div class="slide-block-ball"></div>
<input type="hidden" id="isUniformSocialCredit" name="isUniformSocialCredit" value=""/>
</div>
</div>
</li>
</ul>
<div class="btn-wrapper">
<button class="btn-submit">保存</button>
</div>
</form>
</div>

二,java代码

2.1,代码一

public void save(HttpServletRequest request, HttpServletResponse response) {
logger.info("save info begin...");
Map<String, Object> result = new HashMap<String, Object>();
try {
String wxOpenId = request.getParameter("wxOpenId");
String applyId = request.getParameter("applyId");
String wxModuleType = request.getParameter("wxModuleType");
if (StringUtil.isEmpty(wxOpenId) || StringUtil.isEmpty(applyId)
|| StringUtil.isEmpty(wxModuleType)) {
result.put("code", "001");
result.put("desc", "必填参数为空");
super.toJson(result, response);
return;
}
// 获取request里的所有参数,作为orderParam
String paramJson = packageOrderParam(request);

}

2.2,代码二

protected String packageOrderParam(HttpServletRequest request)
throws Exception {
Map<String, Object> paramMap = getParameterMap(request);
String selCity = request.getParameter("selCity");
if(StringUtil.isNotEmpty(selCity)){
String [] arr = selCity.split("\\s+");
String province=null;
String city=null;
String country=null;
for (int i = 0; i < arr.length; i++) {
switch (i) {
case 0:
province = arr[i];
break;
case 1:
city = arr[i];
break;
case 2:
country= arr[i];
break;
default:
break;
}
}
paramMap.put("province", province);
paramMap.put("city", city);
paramMap.put("country", country);
}

return JsonUtils.map2Json(paramMap);
}

2.3,代码三

@SuppressWarnings("unchecked")
public Map<String, Object> getParameterMap(HttpServletRequest request) {
Map<String, Object> resultMap = new HashMap<String, Object>();
Map<String, String[]> map = request.getParameterMap();
Set<Map.Entry<String, String[]>> set = map.entrySet();
Iterator<Map.Entry<String, String[]>> it = set.iterator();
while (it.hasNext()) {
Map.Entry<String, String[]> entry = (Map.Entry<String, String[]>) it.next();
for (String v : (String[]) entry.getValue()) {
resultMap.put(entry.getKey(), v);
}
}
return resultMap;
}

前台序列化传过来的值,后台获取之后封装到map当中,让后在转化成json格式,最后在把json里面的参数里面的某一个值进行分割,最后在存到json格式的数据中去。的更多相关文章

  1. VUE 直接通过JS 修改html对象的值导致没有更新到数据中去

    业务场景 我们在使用vue 编写 代码时,我们有一个 多行文本框控件,希望在页面点击一个按钮 在 文本框焦点位置插入一个 {pk}的数据. 发现插入 这个数据后,这个数据并没有同步到 数据中,但是直接 ...

  2. 关于PHP参数的引用传递和值传递

    如果希望编写一个名为increment()的函数来增加一个变量的值,我们可能会按如下方式编写这个函数: 这段代码是没有用的.下面测试代码的输出结果是“10”. $value 的内容没有被修改.这要归因 ...

  3. .net后台获取DataTable数据,转换成json数组后传递到前台,通过jquery去操作json数据

    一,后台获取json数据 protected void Page_Load(object sender, EventArgs e){  DataTable dt = DBhepler.GetDataT ...

  4. Hbuilder app开发,使用mui.ajax和服务器交互,后台获取不到值,显示null的解决方法

    先上一个能用的js代码: function login() { var uname=document.getElementById("username").value.trim() ...

  5. javaWeb - 2 — ajax、json — 最后附:后台获取前端中的input type = "file"中的信息 — 更新完毕

    1.ajax是什么? 面向百度百科一下就知道了,这里就简单提炼一下 Ajax即Asynchronous Javascript And XML(异步JavaScript和XML).当然其实我们学的应该叫 ...

  6. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  7. js前台传数组,java后台接收转list,前后台用正则校验

    前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合. 前台js:var params = {"FileNameList&qu ...

  8. .net后台获取HTML中select元素选中的值

    前台: <select id="Province" name="Province" class="select"></se ...

  9. 使用JQuery结合HIghcharts实现从后台获取JSON实时刷新图表

    项目做了一个报表,可以实时的观察呼叫中心的电话访问量,之前的版本是使用JFreechart做的,使用一段时间后出现内存溢出,服务器的内存使用量会变得很大,所以改用Ajax前台加载数据的方式实现实时报表 ...

随机推荐

  1. 洛谷 [P1113] 杂务

    图论的做法是topsort 一看见有序我们就想到了DAG图,于是用topsort做,对于每一个加入队列的顶点,都用它的时间去更新它所指向的点的时间,本质上仍是DP的思想,dp[i]=max{dp[j] ...

  2. 【转】TCP/IP和SOCKET的区别

    要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...

  3. VS2012编译log4cpp1.1.1版本

    1.起因 看到官方网站上的log4cpp的代码已经更新到了1.1.1,而我目前使用的1.0.3版本,所以想使用下最新版本.在使用过程中发现相对于老版本,新版本的变化还是比较大的,特写下此文记录下. 2 ...

  4. ORM规约变更经典案例---mysql军规

    先介绍一下<MySQL数据库开发的三十六条军规>,这里只介绍核心的,具体内容大家可以自行百度,这是从底层开发人员到管理者必须知道规范.出自58赶集. 写在前面的话: 总是在灾难发生后,才想 ...

  5. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  6. Nginx防盗链配置案例配置,Nginx的知识分享

    防盗链的含义:网站内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容. 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址 ...

  7. 随机手机号和身份证号码(python)

    在使用selenium2 python自动化过程中,用户添加的时候程序设置的手机号和身份证号码是唯一的,这方面python代码可以实现,以下是调试成功,可以实现的. 具体代码如下 身份证需要下载dis ...

  8. 自定义状态栏的颜色及navigation的title颜色

    1.在info.plist中添加View controller-based status bar appearance,值为NO 2.在设置状态栏的地方添加代码 [[UIApplication sha ...

  9. Ios App上传步骤

    前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...

  10. Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)

    使用jenkins+git+python脚本进行持续集成的接口测试,在jenkins平台,利用插件等,把管理代码的git仓库的代码更新下来进行持续接口测试,python进行开发测试脚本,git进行远程 ...