作为一个初入互联网行业的小鑫鑫,在使用springMVC时发现一个好耍的东西,决定记下来,免得哪天忘了,哈哈
第一种
序列化表单,将表单数据序列化为json对象字符串
$("#submit").click(function (){ var form=$("form").serializeArray(); $.ajax({ url:"${pageContext.request.contextPath}/teacher/updateTeacher", data:form, type:"POST", dataType : "json", error : function(data) { alert("修改成功"); location.reload(); } }); });
对应的springMVC要这样接手数据就可以了
@RequestMapping(value="updateTeacher") @ResponseBody public String updateTeacher(Teacher teacher,Model model){ teacherService.updateByPrimaryKeySelective(teacher); Teacher longinTeacher = teacherService.loginExp(teacher); model.addAttribute("loginteacher", longinTeacher); return "success"; }
第二种
构建json对象
var zdgzs=[]; //获取页面所有的数据,组装json对象 for(var i=0;i<qtcsId.length;i++){ var zdgz={ "zdgzNd" :zdgzNd, "rwlyValue" :rwlyValue, "rwlyName" :rwlyName, "lwwh" :lwwh, "lwbt" :lwbt, "qtcsId" :qtcsId.eq(i).val(), "qtcsName" :qtcsName.eq(i).html(), "phcsId" :[phcsId.eq(i).val()], "phcsName" :[phcsName.eq(i).html()], "rwnr" :rwnr.eq(i).val() }; zdgzs.push(zdgz); }
再次一个zdgz对象的数据就构建好了
ajax传用JSON.stringify(zdgzs)转换下数据,设置传入后台的数据类型为json
$.ajax({ type: "POST", url: "${pageContext.request.contextPath}/zdgz/addzdgz.do", contentType: "application/json; charset=utf-8", data:JSON.stringify(zdgzs), dataType: "json", success: function (message) { if (message > 0) { alert("添加成功"); window.location.href="${pageContext.request.contextPath}/zdgz1/selectzdgz.do/s/0"; }
后台接收方式,使用springMVC中的@requsetBody 注解来控制参数类型,强大的springMVC就能把前台的json数据自动装配成对应对象的List数组了(需要加springMVC中带的json包)
@RequestMapping(value="/addzdgz.do",method = RequestMethod.POST) public @ResponseBody int addzdgz(@RequestBody List<Zdgz> zdgzs){ for(Zdgz zdgz:zdgzs){ if ("请选择".equals(zdgz.getRwlyName()) || "请选择".equals(zdgz.getQtcsName()) || "请选择".equals(zdgz.getPhcsName()) || "".equals(zdgz.getRwnr()) || null == zdgz.getRwnr()) { return 0; } zdgz.setDtmdjsj(new Date()); zdgzService.addZdgz(zdgz); } return 1; }
ok,这个写完了,以后自己没事可以看看
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。