构建Json插件的相关技巧说明介绍
创始人
2024-06-19 15:01:26
0

昨天到今天搞了一整天的电脑,我都快崩溃了! ,以后再也不能随便的关机了,因为这次的不小心,几乎所有的Net安装,调试问题都被我碰到了个人感觉ajax+json在很大程度上降低了网络和服务器的IO,是一个很不错的组合!

1:json的lib我用的是json-lib-2.1-jdk15.jar,它可以在
2:struts用的是1.2#t#
3:用到了js第三方prototype.js,主要用它包装的ajax对象,大家也没必要用这个,可以直接在js里用XMLHttpRequest。

以下是例子中所用到的相关文件:

  1. /////////////////////////////////////// toolhxw.js  
  2. /**  
  3. @hxw 20080602  
  4. */  
  5. //回调函数 简单回调函数   
  6. function showesay(dataResponse)  
  7. {  
  8. var data = eval('(' + dataResponse.responseText + ')');   
  9. var str='';   
  10. str+='<ul>';   
  11. str+='<li>'+data.param1; +'</li>';   
  12. str+='<li>'+data.param2; +'</li>';   
  13. str+='</ul>';   
  14. document.getElementById("content").innerHTML=str;   
  15. }  
  16. //回调函数 复杂回调函数  
  17. function showcomplex(dataResponse)  
  18. {  
  19. var data = eval('(' + dataResponse.responseText + ')');   
  20. var str='';   
  21. for(var i=0; i<data.js.length; i++)  
  22. {   
  23. str+='<ul>';   
  24. str+='<li>'+data.js[i].id+'</li>';   
  25. str+='<li>'+data.js[i].age+'</li>';   
  26. str+='<li>'+data.js[i].name+'</li>';   
  27. str+='<li>'+data.js[i].address+'</li>';   
  28. str+='</ul>';   
  29. }  
  30. document.getElementById("content").innerHTML=str;   
  31. }  
  32. //获取简单的json数据  
  33. function getesay(){  
  34. var url = 'test.do';   
  35. var pars = 'method=getEasy';   
  36. var ajax = new Ajax.Request(  
  37. url,  
  38. {method:'post',parameters:pars,onComplete:showesay}  
  39. );   
  40. }  
  41. //获取对象级复杂数据  
  42. function getcomplex(){  
  43. var url = 'test.do';   
  44. var pars = 'method=getComplex';   
  45. var ajax = new Ajax.Request(  
  46. url,  
  47. {method:'post',parameters:pars,onComplete:showcomplex}  
  48. );   
  49. }  
  50.  
  51. ///////////////////////////////////////struts-config.xml  
  52.  
  53. <?xml version="1.0" encoding="UTF-8"?>  
  54. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">  
  55.  
  56. <struts-config>  
  57. <data-sources />  
  58. <form-beans />  
  59. <global-exceptions />  
  60. <global-forwards />  
  61. <action-mappings >  
  62. <action path="/test" parameter="method" type="com.json.struts.action.TestAction">  
  63. </action>  
  64.  
  65. </action-mappings>  
  66.  
  67. <message-resources parameter="com.json.struts.ApplicationResources" />  
  68. </struts-config>  
  69.  
  70. ////////////////////////////////TestAction.java  
  71.  
  72. /*  
  73. * Generated by MyEclipse Struts  
  74. * Template path: templates/java/JavaClass.vtl  
  75. */  
  76. package com.json.struts.action;   
  77.  
  78. import java.io.PrintWriter;   
  79.  
  80. import javax.servlet.http.HttpServletRequest;   
  81. import javax.servlet.http.HttpServletResponse;   
  82. import org.apache.struts.action.ActionForm;   
  83. import org.apache.struts.action.ActionForward;   
  84. import org.apache.struts.action.ActionMapping;   
  85. import org.apache.struts.actions.DispatchAction;   
  86. import net.sf.json.*;   
  87.  
  88. /**  
  89. * @author hxw  
  90. *  
  91. */  
  92. public class TestAction extends DispatchAction {  
  93.  
  94.  
  95. /**  
  96. * 获取简单组合数据  
  97. */  
  98. public ActionForward getEasy(ActionMapping mapping, ActionForm form,  
  99. HttpServletRequest request, HttpServletResponse response) {  
  100. response.setContentType("text/html; charset=GBK");   
  101. try  

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...