最近项目中需要做一个关于批量删除的功能,删除条件有多个,需要从页面全部传给后台服务器程序,单个的删除,可以拼接参数给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或者自己使用的数据库持久层进行处理即可。
相关推荐
标题中的“服务器端+Web管理端,web服务器端程序,Java”揭示了这是一个关于构建基于Java的服务器端应用程序,用于管理并展示通过Web界面的手机状态监控系统。这个系统不仅包含后端服务处理数据,还涉及到前端Web界面...
"ExtJs的服务器端控件实现"这一主题,主要是探讨如何在服务器端与ExtJS进行交互,以实现更高效、更复杂的Web应用功能。 首先,服务器端控件是Web开发中的一个重要概念,它们允许开发者在服务器端处理业务逻辑和数据...
1. **序列化**: 将服务器端的数据结构(如对象、数组)转换为JSON字符串,以便通过网络发送。例如,Python中的`json.dumps()`函数可以实现这一过程。 2. **解析**: 当接收到前端发送的JSON数据时,服务器需要将其...
- 在服务器端,创建Comet4J服务,定义监听器来处理推送事件,当有新的消息需要发送时,调用相应的接口触发推送。 - 在客户端,使用JavaScript与Comet4J服务器建立连接,并注册回调函数来处理接收到的消息。 3. **...
在客户端向服务器端上传文件的过程中,涉及到的主要技术包括前端交互、后端处理和文件传输协议。下面将分别从这三个方面详细讲解相关知识点。 首先,前端交互是用户与应用程序的接触点,这里通常会使用HTML、CSS和...
服务器端进行文件压缩(如gzip压缩),浏览器端进行文件解压,可以减少传输数据量,从而提升加载速度。压缩对服务器和浏览器计算资源有一定压力,需权衡考虑。合并外部脚本和样式文件,减少请求次数,提高压缩效率。...
关系型数据库是常见的数据存储类型,它包括服务器端用于存储和管理数据,以及客户端用于发送查询请求。常见的数据库系统有网状数据库、层次型数据库、关系型数据库(如MySQL)和非关系型数据库(NoSQL)。关系型...
在Web前端开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其易读性、易写性和高效性被广泛应用于前后端数据交互。JSON是基于JavaScript的一个子集,但它是独立于语言的,有明确的规范...
在Python Web开发中,JavaScript通常与Ajax技术一起使用,实现异步通信,即无需刷新页面就能向服务器发送请求并获取新数据。 4. Python与前端的交互: 在Python Web开发中,后端通常负责处理业务逻辑和数据库操作...
在本项目中,“web前端+node实现聊天室”是一个典型的实时通信应用,它结合了HTML、JavaScript(前端技术)和Node.js(后端技术),利用WebSocket协议实现了全双工(full-duplex)通信,从而提供了实时、双向的数据...
- **服务器端应用开发**:根据需求编写后端代码来处理请求并返回数据。 - **同源策略**:限制了浏览器对不同源的资源访问,需要了解如何跨域。 - **数据交互格式**:如XML、JSON,通常使用JSON,因为其结构清晰且...
相反,它可能依赖于服务器端的处理,如使用ASP.NET或Web API创建一个服务,该服务可以接受来自Web前端的请求,然后处理Office文档。 标题中的"C# web端操作office,表格"意味着我们要在Web应用程序中实现对Excel或...
1. **参数名称一致性**:JavaScript端发送的参数名称必须与服务器端方法的参数名相匹配,否则会引发错误。 2. **JSON数据类型设置**:当发送JSON格式数据时,必须正确设置`dataType`和`contentType`,否则数据无法被...
Web前端开发是构建互联网应用程序的重要组成部分,而Node.js作为一个基于Chrome V8引擎的JavaScript运行环境,为前端开发者提供了在服务器端编写代码的能力。本主题主要关注Node.js在Web开发中的应用,特别是关于...
在Web前端开发中,安全传输数据是至关重要的。JavaScript RSA加密是一种常见的方法,用于保护用户敏感信息,如登录凭证或支付详情,防止在传输过程中被截取。在本主题中,我们将深入探讨如何使用RSA算法在JavaScript...
在前端与服务器建立WebSocket连接后,双方可以自由地发送JSON或其他类型的数据。 6. **JSON格式**:理解JSON的结构和规则非常重要,包括对象(key-value对)、数组、字符串、数字、布尔值和null等基本类型,以及...
6. **文件I/O操作**:在服务器端处理文件上传时,需要了解如何在磁盘上读写文件。 7. **安全考虑**:确保文件上传功能的安全性,避免恶意文件上传,例如通过验证文件类型、大小和扩展名。 8. **性能优化**:对于大...
这种方式会将当前请求转发到指定的路径,客户端浏览器地址栏的URL不会改变,因为整个过程都在服务器端完成。 3. Response对象 Response对象则是用来封装服务器返回给客户端的HTTP响应。在上面的示例代码中,我们...
JavaScript服务器端应用与ASP技术是Web开发中的两个关键概念,尤其在构建动态网站和Web应用程序时。本知识点将深入探讨JavaScript在服务器端的角色以及ASP(Active Server Pages)的工作原理。 JavaScript,通常被...
在服务器端(Qt应用)和客户端(Web页面)之间建立通道,允许双方共享和操作对象。通过注册Qt对象到WebChannel,前端JavaScript可以透明地调用这些对象的方法,处理返回的数据。 接下来,我们讨论QtWebCharts,这是...