`

WEB前端向服务器端发送对象

    博客分类:
  • WEB
阅读更多

最近项目中需要做一个关于批量删除的功能,删除条件有多个,需要从页面全部传给后台服务器程序,单个的删除,可以拼接参数给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或者自己使用的数据库持久层进行处理即可。

分享到:
评论

相关推荐

    基于Flask开发后端在WEB端部署YOLOv5目标检测模型.zip

    基于Flask开发后端并在WEB端部署YOLOv5目标检测模型的项目可以实现在网页上上传图片进行目标检测的功能。下面是一个简要的项目描述: 首先,你需要安装Flask框架和YOLOv5模型。Flask是一个轻量级的Python Web框架,...

    基于AJAX技术开发Web电子邮件客户端之UI篇

    如今,AJAX技术给客户端Web应用程序的开发带来巨大的影响。这种构建Web应用程序的新方法—...在服务器端,我将使用PHP来存取邮件服务器,推入(pushing)POP3命令并读取收件箱中的消息。 现在,我们开始构建这个客户端

    Synchronous.io:客户端和服务器之间共享的javascript对象

    同步 客户端和服务器之间共享...在服务器端: var express = require ( 'express' ) ; var app = express ( ) ; var http = require ( 'http' ) . Server ( app ) ; var Synchronous = require ( 'Synchronous.i

    JSP程序设计实例教程(第2版)-电子课件第1章-Java-Web编程基础.pptx

    在B/S体系结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。 JSP程序设计实例教程(第2版)-电子课件第1章-Java-Web编程基础全文共73页,当前为第11页。 1.3.2 三...

    JavaScript权威指南(第6版)中文文字版

    本书第6版涵盖了 html5 和 ecmascript 5,很多章节完全重写,增加了当今 web 开发的最佳实践的内容,新增的章节包括 jQuery、服务器端 JavaScript、图形编程以及JavaScript式的面向对象。本书不仅适合初学者系统学习...

    JavaScript权威指南(第6版)

    本书第6版涵盖了 html5 和 ecmascript 5,很多章节完全重写,增加了当今 web 开发的最佳实践的内容,新增的章节包括 jQuery、服务器端 JavaScript、图形编程以及JavaScript式的面向对象。本书不仅适合初学者系统学习...

    JavaScript权威指南(第6版) 中文版

    本书第6版涵盖了 html5 和 ecmascript 5,很多章节完全重写,增加了当今 web 开发的最佳实践的内容,新增的章节包括 jQuery、服务器端 JavaScript、图形编程以及JavaScript式的面向对象。本书不仅适合初学者系统学习...

    达内java培训目录

    达内java培训目录 ...4.开班3个月内,贯穿Web前端技术和Servlet/JSP的学习,将完成T-NetCTOSS项目: NetCTOSS系统的主要任务是提供对于数据的计费查询和管理功能。 5.开班4个月内,学员将完成"航空订票"真实项目

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...

    Appetite:一个Web应用程序,使您可以查看我最喜欢的餐厅的列表,将其添加到餐厅列表,更新并保存对列表中现有餐厅的更改以及删除列表中的餐厅

    HTML5 CSS3 JavaScript CSS动画引导程序jQuery的AngularJS后端(服务器端): 表示Node.js我的网络应用程序有什么作用: 我的应用程序满足CRUD(创建,读取,更新,删除),并且能够从前端至后端通过JSON从后端到...

    超级有影响力霸气的Java面试题大全文档

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。  对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器...

    Java卡密源码-examples:实现Omise库的示例

    checkout.php(服务器端),用于使用密钥向 Omise 创建费用。 Ruby on Rails - 使用 Spree 和 Omise-ActiveMerchant 插件的演示商店 Java 示例 Java 服务器接收使用生成的令牌,然后创建一个对象并对其收费。 ASP...

    【计算机软件毕业设计】二手车交易平台的分析、设计与实现文献综述1.doc

    关键词:SSH集成框架 Web 1主流Web开发框架分析 1.1 MVC结构模式和WebWork框架 2012年王欢认为MVC的工作原理是,使用MVC时,当用户向Web容器发送一个请求后, Web容器会根据请求和地址去调用一个Servlet进行处理,...

    计算机专业毕设ASP.NET基于TCP协议的简单即时通信软件的设计与实现(源代码+论文).rar

    1. **后端开发**:使用C#语言编写服务器端程序,实现TCP协议的通信逻辑。 2. **前端开发**:利用ASP.NET的Web Forms框架构建用户界面,实现用户交互。 3. **数据库设计**:采用SQL Server数据库存储用户信息、好友...

    asp学习相关资料大全

    (4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息; (5)ASP可以使用服务器...

    java 面试题 总结

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上...

    Servlet与JSP核心编程第2版

    JSP初学者用书 很不错的一本书 第1章 servlet和jsp技术概述 1.1 servlet的功用 ...19.8 服务器端图像映射 19.9 隐藏域 19.10 控件组 19.11 制表次序 19.12 用于调试的web服务器 附录 服务器的组织与结构

    PHP3程序设计

    PHP是最流行的Web脚本语言之一,它运行在Web服务器端,根据用户请求或服务器端的数据产生动态网页;它功能强大,和HTML脚本融合在一起,并内建访问数据库的能力;它能够作为Apache Web 服务器的模块执行,也使得其...

    单页面和多页面开发及应用

    诸如服务器端渲染等生态系统包则解决搜索引擎优化(SEO)等问题。 -Aurelia是一个适用于移动设备、桌面和网页的JavaScript客户端框架。它类似AngularJS,但更新、更符合标准,并采用模块化举措。Aurelia使用下一代...

Global site tag (gtag.js) - Google Analytics