JavaWEB前端向服务器端发送对象
2019独角兽企业重金招聘Python工程师标准>>>
最近项目中需要做一个关于批量删除的功能,删除条件有多个,需要从页面全部传给后台服务器程序,单个的删除,可以拼接参数给url,服务器端获取参数后执行删除操作即可。但是批量删除多个,参数会很多,传递就有些麻烦。当然有一种比较常见的解决方法,是使用逗号、下划线、或者分号分割,然后传到后台拆分后再进行操作,这种方法需要前台拼接,后台解析,稍显繁复且容易出错。对于搞JAVA程序的我来说,显得不是很面向对象。于是很自然的想到了使用json字符串进行传递数据,具体步骤如下:1、先把想要传递的参数封装成js对象,代码样例如下:
- var params = [];
- var param = {};
- param["aaa"] = "a";
- param["bbb"] = true;
- param["ccc"] = 2;
- params.push(param);
2、接下来把js对象转成json字符串,比较常见的做法是使用JSON.stringfy(),尝试一番之后发现IE8浏览器并不支持(该方法对谷歌、火狐、以及IE9以上版本浏览器完美支持),而我们当前的产品只支持IE浏览器,转而求救谷歌百度,找到一个比较通用的js方法,代码如下:
- function obj2Str(obj) {
- switch (typeof (obj)) {
- case 'object':
- var ret = [];
- if (obj instanceof Array) {
- for (var i = 0, len = obj.length; i < len; i++)
- {
- ret.push(obj2Str(obj[i]));
- }
- return '[' + ret.join(',') + ']';
- }
- else if (obj instanceof RegExp)
- {
- return obj.toString();
- }
- else
- {
- for (var a in obj)
- {
- ret.push(a + ':' + obj2Str(obj[a]));
- }
- return '{' + ret.join(',') + '}';
- }
- case 'function':
- return 'function() {}';
- case 'number':
- return obj.toString();
- case 'string':
- return '"' + obj.replace(/(\\|\")/g, '\\$1').replace(/\n|\r|\t/g, function (a)
- {
- return ('\n' == a) ? '\\n' : ('\r' == a) ? '\\r' : ('\t' == a) ? '\\t' : '';
- }) + '"';
- case 'boolean':
- return obj.toString();
- default:
- return obj.toString();
- }
- }
3、前台封装好以后,使用ajax请求到后台,JAVA解析json字符串的方法不少,可以在网上找写好的方法,当然也可以使用json-lib-xxx.jar,这个jar包在项目中应用很广泛,LZ上一家公司就使用其做了大量json转化工作,使用方法如下:
- JSONArray jsonArray = JSONArray.fromObject(jsonStr);
- List<Map> cmdList = (List<Map>)JSONArray.toCollection(jsonArray, Map.class);
4、通过内置方法转化成集合,再传递到ibatis或者自己使用的数据库持久层进行处理即可。
技术分享:www.kaige123.com
转载于:https://my.oschina.net/kaige123/blog/744522
JavaWEB前端向服务器端发送对象相关推荐
- 微信小程序向java后端发送对象时 ,后端接收不到
微信小程序前端向后端发送对象接收不到 这里时请求头 这里时data中做的假数据 这是封装好的 post请求 后端的Controller代码 返回的结果 接收结果为null 但是可以接到可以用过 加@ ...
- javaweb 前端发送list对象,后台接收过程实现代码
前端ajax: $.ajax({url:"http://localhost:8099/createTable",type:"post",dataType:&qu ...
- javaweb学习总结(十)——HttpServletRequest对象(一)
2019独角兽企业重金招聘Python工程师标准>>> 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协 ...
- javaweb学习总结(十)——HttpServletRequest对象(一)(转)
(每天都会更新至少一篇以上,有兴趣的可以关注)转载自孤傲苍狼 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器 ...
- 前端输入框错误提示_WEB/APP开发基础之旅--前端、服务器端、数据库综合开发案例...
本节内容就涉及到了前端.服务器端.数据库管理的综合开发,内容比较多,思路也相对复杂.从定位来说,前端主要是用户浏览网页或者APP,在浏览时就是默认发送了GET请求,即从服务器端获取内容进行显示,同时适 ...
- docker命令行解析以及如何向服务器端发送请求(docker源码学习一)
最近在看doccker的源码,最新的master分支(估计是1.12.4,因为最新的release是1.12.3)命令行解析全部都使用了第3方的包https://github.com/spf13/co ...
- netty发送对象消息
前言 通过之前的学习,我们知道使用netty在客户端和服务端之间很容易发送一个文本类的消息,但在实际应用中这肯定是不够用的,像java中使用最多的对象这种形式的数据,在客户端和服务端通信的时候也必然会 ...
- Python Day 67 Dango框架图解(总结)、Wsgiref和uwsgi、前后端传输数据的编码格式、From表单和Ajax方式在前端往后端发送文件、补充一下页面清缓存...
##Django框架图解 ##前后端传输数据的编码格式 #前后端传输数据的编码格式1.urlencoded 2.formdata 3.application/json ##From表单和Ajax方式在 ...
- JavaWeb——JSP九大内置对象及作用域详解
文章目录 JavaWeb--JSP九大内置对象及作用域 1. 九大内置对象 1.1 request对象 1.2 response对象 1.3 out对象 1.4 session对象 1.5 appli ...
- php 返回一个json对象,PHP给前端返回一个JSON对象的实例讲解
解决问题:用php做后台时,如何给前端发起的AJAX请求返回一个JSON格式的"对象": 说明:我本身是一个前端,工作久了之后发现要是不掌握一门后端开发语言的话,总感觉有点无力.最 ...
最新文章
- [uart]stty命令使用
- python 爬虫面试题_Python爬虫面试题
- css如何各种中文字体如雅黑、黑体、宋体、楷体等等
- 装箱问题(信息学奥赛一本通-T1226)
- JSON Schema
- Redis管理及监控工具treeNMS
- java海康摄像头添加人脸_java及opencv实现调用本地摄像头、网络摄像头完成人脸检测、人脸收集、人脸识别、性别识别...
- SRS:软件需求规格说明书
- 2022年12月最新快速批量删除微博内容_新版本如何批量删除微博以前发过的博文内容
- springboot点餐微信小程序毕业设计源码221144
- “朝抵抗力最大的路径上走”
- 梨子的功效与作用_梨的9种不为人知的价值
- A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHM
- 值得推荐好用的网址导航网站大全
- AWD比赛入门攻略总结
- sqlserver插入数据时如何忽略主键重复的数据
- 【VisionMaster】卡尺工具
- 2690. Soda Surpler
- jsoup填充内容然后html转word
- 极验系列文章一:极验三代 极验验证码整体流程分析
热门文章
- 扑克牌的完美洗牌算法
- S3C6410 SD卡启动uboot分析(详细)
- ArrayList转换类型为DataTable类型
- [解决方案]SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
- install4j Enterprise Edition序列号
- 编程基础(一)——计算机中的数
- Android环境下的GDB调试
- TCP UDP 本地套接字 网络套接字
- OpenCV 利用MFC的Picture控件显示和处理图像
- 高通camx clock配置