`
webcode
  • 浏览: 5942040 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ajax和json跟java实现List、Map直接传递

 
阅读更多
由于项目需要通过ajax得到后台的List对象里面的值,由于没有接触过json所以前期我只能先传字符串再在js里截取子串实现。闲暇时间摸索了一下关于json接受List对象的方法,步骤如下:
1.首先下载json所以依赖的包, Json-lib 最新版 json-lib-2.3-jdk15.jar,其官方网站是:http://json-lib.sourceforge.net/可以直接download,细心的你会发现其网站页面里面有提示它还需要其他包:
Json-lib requires (at least) the following dependencies in your classpath:
•jakarta commons-lang 2.4
•jakarta commons-beanutils 1.7.0
•jakarta commons-collections 3.2
•jakarta commons-logging 1.1.1
•ezmorph 1.0.6
下载地址分别是:
http://commons.apache.org/lang/
http://commons.apache.org/beanutils/
http://commons.apache.org/collections/
http://commons.apache.org/logging/
http://ezmorph.sourceforge.net/
2.首先先见一个小web项目
先建一个User类:
Java代码 收藏代码
  1. packagecom.json;
  2. publicclassUser{
  3. Stringusername;
  4. Stringpassword;
  5. publicStringgetUsername(){
  6. returnusername;
  7. }
  8. publicvoidsetUsername(Stringusername){
  9. this.username=username;
  10. }
  11. publicStringgetPassword(){
  12. returnpassword;
  13. }
  14. publicvoidsetPassword(Stringpassword){
  15. this.password=password;
  16. }
  17. }

再建一个servlet
Java代码 收藏代码
  1. packagecom.json;
  2. importjava.io.IOException;
  3. importjava.io.PrintWriter;
  4. importjava.util.ArrayList;
  5. importjava.util.List;
  6. importjavax.servlet.ServletException;
  7. importjavax.servlet.http.HttpServlet;
  8. importjavax.servlet.http.HttpServletRequest;
  9. importjavax.servlet.http.HttpServletResponse;
  10. importnet.sf.json.JSONArray;
  11. publicclassTestJsonextendsHttpServlet{
  12. publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
  13. throwsServletException,IOException{
  14. doPost(request,response);
  15. }
  16. publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
  17. throwsServletException,IOException{
  18. response.setContentType("text/html");
  19. Stringstr=request.getParameter("name");//得到ajax传递过来的paramater
  20. System.out.print(str);
  21. PrintWriterout=response.getWriter();
  22. Listlist=newArrayList();//传递List
  23. Mapm=newHashMap();//传递Map
  24. Useru1=newUser();
  25. u1.setUsername("zah");
  26. u1.setPassword("123");
  27. Useru2=newUser();
  28. u2.setUsername("ztf");
  29. u2.setPassword("456");
  30. list.add(u1);//添加User对象
  31. list.add(u2);//添加User对象
  32. m.put("u1",u1);
  33. m.put("u2",u2);
  34. JSONArrayjsonArray2=JSONArray.fromObject(list);
  35. //把java数组转化成转化成json对象
  36. JSONObjectjo=JSONObject.fromObject(m);//转化Map对象
  37. out.print(jsonArray2);//返给ajax请求
  38. out.print(jo);//返给ajax请求
  39. }
  40. }
  41. 配置好web.xml中的servlet映射,这一步就略了。


3.建立ajax实现
这里为了快速实现用的是jquery实现的。
Java代码 收藏代码
  1. <scripttype="text/javascript"src="js/jquery.js"></script>
  2. <scripttype="text/javascript">
  3. functiontest(){
  4. $.ajax({
  5. type:"POST",//请求方式
  6. url:"testjson",//请求路径
  7. cache:false,
  8. data:"name=zah",//传参
  9. dataType:'json',//返回值类型
  10. success:function(json){
  11. alert(json[0].username+""json[0].password);//弹出返回过来的List对象
  12. }
  13. });
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. <inputtype="button"name="b"value="测试"onclick=test()>
  19. </body>

分享到:
评论

相关推荐

    java对象List,Map转json格式

    java对象转为json格式,同javascript进行数据交换。

    jQuery的Ajax实现异步传输List、Map

    前后台传送list及map,包含了传json时所需要的包及相关内容

    Ajax&Json&XML.html

    JSON数据和Java对象的相互转换 常见的解析器:Jsonlib,Gson,fastjson,jackson JSON转为Java对象 1. 导入jackson的相关jar包 2. 创建Jackson核心对象 ObjectMapper 3.调用ObjectMapper的相关方法进行...

    struts2的方式返回json到jsp页面 List,Map,Object,对象各种操作都有....MyEclipse的,导入直接看效果。

    jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后返回指定参数做后续处理. 1. POIUtil.java工具类 解析...

    Json-RPC for java中文手册

    json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript?...

    ajax struts 无刷新访问后台返回json数据

    ajax struts 无刷新访问后台返回json数据,返回list、map,java类对象等json数据,前台js解析json数据,内有jar包,代码类。是一个完整的项目实例。

    J2EE中JSONJquery_AJAX应用中文PDF版

    资源名称:J2EE中JSON ...首先页面通过调用JQuery_AJAX方法访问后台Action,在后台Action中将获取到的JavaBean、List、Map等数据类型转换为json-lib.ja 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    27-Object-List-Map-Array 转成json数据

    在做web开发的时候总会用到jquery 的ajax 技术,然而通过ajax 技术从服务端获取的数据大多是json 格式的数据,所以将不同类型的数据转成json 格式是件很常见的技术,总结一下两种方法!

    Java面试宝典2020修订版V1.0.1.doc

    23、List、Set和Map的区别? 74 24、Collection 和 Collections的区别。 74 25、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 75 26、HashMap与HashTable的区别 75...

    Jackson的jar包

    1、JackSon使用Java类中的getxxx()方法定位生成的json对象的属性xxx和值(返回值),而不是字段; 2、可以通过在Java类getxxx()方法前添加注释@JsonIgnore来忽略该getxxx()方法生成的属性xxx; 3、常用的...

    Jquery-Ajax各种获取方式

    Jquery-Ajax各种获取方式 &lt;body&gt; &lt;input id="getJsData" type="button" value="获取js值"/&gt; &lt;input id="getMessage" type="button" value="获取单个值"/&gt; &lt;input id="getUserInfo" type=...

    Bootstrap分页

    List list = this.userService.getUserLists(map); this.initResult(model, list, map); return new ModelAndView("pagerList"); } catch (Exception e) { e.printStackTrace(); } return ...

    jquery-1.1.3 效率提高800%

    选择器速度提升 选择器的速度大幅度提高了,下表为jQuery1.1.2和1.1.3的选择器速度对比,提高了8倍多 Browser jQuery 1.1.2 jQuery 1.1.3 % Improvement IE 6 4890ms 661ms 740% Firefox 2 5629ms 567...

    Java学习笔记-个人整理的

    {4.15}Map的迭代}{90}{section.4.15} {4.15.1}字符统计}{91}{subsection.4.15.1} {5}格式化输入输出}{94}{chapter.5} {5.1}时间与日期}{94}{section.5.1} {5.1.1}各类时间日期转换}{94}{subsection.5.1.1} {...

    PrimeUI Widgets

    PrimeUI使用JSON数据,并使用jQuery UI的WidgetFactory API提供Widget控件,作为jQuery插件。其代码开源,采用Apache许可证。 PrimeUI最终发布的控件列表包括: - InputText - InputTextarea - SelectOneMenu - ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    06 Ajax功能之dataType和traditional 第58章 01 今日内容概要 02 Ajax补充之serialize 03 分页功能介绍 04 分页基础知识 05 Django内置分页 06 扩展Django内置分页 07 自定义分页组件 08 DjangoForm组件初识 第59...

    C#自动完成功能

    首先 添加引用 Newtonsoft.Json.Net35.dll 其次 将themes个文件夹 放到css &lt;script src="JS/jquery-1.4.1-vsdoc.js" type="text/javascript"&gt;&lt;/script&gt; ...

Global site tag (gtag.js) - Google Analytics