`
l4432848
  • 浏览: 253485 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多



  

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

 

技术分享:凯哥学堂

  • 大小: 25.8 KB
0
0
分享到:
评论

相关推荐

    JavaWeb后台自动向前台发送消息

    在JavaWeb开发中,"后台自动向前台发送消息"是一种常见的需求,比如实时通知、聊天应用或者股票报价等场景。这种技术通常被称为“服务器推送”(Server-Sent Events, SSE)或“Comet”技术。本项目利用了Comet4J这一...

    JavaWeb学习教程文档

    6. **Web开发流程**:在JavaWeb开发中,通常涉及客户端和服务器端的交互,包括HTML/CSS/JS的静态页面制作,Servlet或JSP处理动态请求,数据库操作(如JDBC)来存储和检索数据,以及使用框架(如Spring MVC)进行项目...

    JavaWeb笔记_javaweb_javaweb_

    JavaWeb是Java技术在Web应用开发中的应用,涵盖了从服务器端到客户端的多个技术领域。以下是一些关于JavaWeb编程的基础知识点,旨在帮助初学者理解并掌握这一领域: 1. **Servlet**: Servlet是JavaEE规范中的一部分...

    JAVAweb系列课件

    JavaWeb是Java技术在Web开发中的应用,涵盖了从服务器端编程到前端交互的诸多方面。这一系列课件的目的是帮助学习者深入理解JavaWeb开发的核心概念和技术,包括Servlet、JSP、MVC模式、JDBC以及相关的框架如Spring ...

    深入分析JavaWeb技术内幕 修订版PDF

    客户端负责用户界面和前端逻辑,服务器端则处理业务逻辑、数据库交互等后端任务。在Java Web中,客户端可以是任何标准浏览器,而服务器端常用技术包括Servlet、JSP、JSF等。 知识点二:Servlet技术 Servlet是Java ...

    基于JavaWeb的个人网站.zip

    综上所述,这个基于JavaWeb的个人网站项目涵盖了Web开发的基础知识和实践技巧,涉及了从服务器端编程到前端展示,再到数据库管理和安全控制的全过程。通过学习和实践这个项目,开发者可以提升自己的JavaWeb技能,并...

    完整版 基于javaweb实现的简单购物商城.rar

    总之,这个基于JavaWeb的简单购物商城项目提供了一个学习Web开发的实战平台,涵盖了服务器端编程、数据库操作、前端展示等多个方面,对于理解和提升JavaWeb开发技能非常有帮助。通过分析和修改这个项目,初学者可以...

    javaweb后台删除,验证

    Servlet是服务器端的Java程序,用于接收HTTP请求,处理数据,并返回响应。JSP则主要负责页面展示,而DAO层则是与数据库交互的部分。 1. **后台验证**: - **用户身份验证**:当用户尝试访问特定资源时,后台需要...

    javaweb分页简单分页

    虽然这里只涉及服务器端的分页,但现代Web应用通常会结合前端JavaScript库(如jQuery、Vue.js或React)进行更复杂的交互,如AJAX无刷新分页。这样可以提高用户体验,减少服务器负担,只需请求必要的数据。 6. **...

    JavaWeb视频教程_day2-资料源码.rar_JavaWeb视频教程_javaweb

    4. **JavaScript与Servlet通信**:通过使用JavaScript的XMLHttpRequest对象,前端可以向后台Servlet发送异步请求,Servlet处理后返回数据,JavaScript再对返回的数据进行处理,实现了前后端的无刷新交互。...

    javaweb 实现的图书管理系统

    - **添加图书**:用户可以输入新图书的相关信息(如书名、作者、出版社等),这些数据通过HTTP请求发送到服务器,服务器端处理并将其存储到数据库中。 - **删除图书**:用户选择要删除的图书,系统会发送对应的...

    JavaWeb聊天室系统源码

    JSP则用于展示用户界面,将服务器端的数据动态地渲染到网页上。而JDBC则用于数据库操作,如用户登录验证、存储聊天记录等。 该系统可能采用了AJAX(Asynchronous JavaScript and XML)技术来实现页面的无刷新更新,...

    Flex 和JAVAWEB整合文档

    AMF是一种高效的数据交换格式,Flex客户端可以通过Flash Player发送AMF请求到服务器,服务器端的 BlazeDS 或 LCDS(LiveCycle Data Services)等中间件将AMF转换为Java对象,反之亦然。HTTP/HTTPS则通过HTTP服务端点...

    Javaweb期末大作业游戏购物网站

    通过XMLHttpRequest对象,前端可以向后台发送异步请求,获取数据并局部更新页面,提高响应速度。 9. **Spring框架**:虽然题目没有明确提及,但为了提高开发效率和代码质量,可能会引入Spring框架,利用其IOC(控制...

    JavaWeb用户注册---邮箱验证码实现注册

    3. 服务器端生成验证码,保存并发送邮件。 4. 用户输入验证码,前端通过AJAX提交到后端进行验证。 5. 实现安全措施,如验证码有效期、重试机制和防止恶意注册。 这个过程需要前端和后端的协同工作,结合JavaMail ...

    JAVAWEB 个人理财管理系统 源码

    Servlet是Java编写的服务器端程序,用于处理HTTP请求;JSP则是一种动态网页技术,允许在HTML中嵌入Java代码,使得网页具有动态性;JavaBean是可重用的Java组件,通常作为业务逻辑层的对象,封装数据和方法。 2. **...

    JAVAWEB+Mysql数据库实现注册登录数据库

    Servlet是Java编写的服务器端程序,负责处理HTTP请求;JSP则是一种动态网页技术,允许将HTML代码和Java代码混合编写,提高了页面的可维护性;JSTL则提供了一组标准的标签库,简化了JSP页面的开发。 在实现用户注册...

    用户注册+登录 JavaWeb项目压缩包

    服务器端的Java控制器接收请求,调用MyBatis的Mapper接口,执行SQL插入语句,将加密后的密码保存到数据库。 对于用户登录,前端同样提交用户名和密码,服务器端接收到请求后,通过MyBatis查询数据库中对应的用户...

    Ajax与JavaWeb后台分页

    例如,服务器端可以创建一个包含总记录数、总页数、当前页数据的Java对象,利用Gson将其转换成JSON字符串,然后通过Ajax响应返回给前端。 前端接收到JSON数据后,可以根据数据结构动态构建分页组件,展示当前页的...

Global site tag (gtag.js) - Google Analytics