`
44424742
  • 浏览: 232475 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

在前人的基础上更改的DWRProxy

阅读更多

修改的地方:

1.多个DWR同时调用不受限制

2.调用DWR的方法的参数不做限制,可以任意。

3.增加EXT常用的几个Reader的实现:Ext.data.XmlReader Ext.data.JsonReader Ext.data.DWRArrayReader

Js代码 复制代码

调用示例:

combo.html 代码

Js代码 复制代码
  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=GBK">
  5. <linkrel="stylesheet"type="text/css"href="../js/extjs/resources/css/ext-all.css"/>
  6. <scripttype='text/javascript'src='/dwr/dwr/interface/DWRCall.js'></script>
  7. <scripttype='text/javascript'src='/dwr/dwr/engine.js'></script>
  8. <scripttype="text/javascript"src="../js/extjs/adapter/ext/ext-base.js"></script>
  9. <scripttype="text/javascript"src="../js/extjs/ext-all-debug.js"></script>
  10. <scripttype="text/javascript"src="../js/extjs/ext-lang-zh_CN.js"></script>
  11. <scripttype="text/javascript"src="../js/extjs/DWRProxy.js"></script>
  12. <scripttype="text/javascript"src="comboxTest.js"></script>
  13. <title>Combo对象学习</title>
  14. <scripttype="text/javascript">
  15. </script>
  16. </head>
  17. <body>
  18. <inputtype='button'onclick='alert(Ext.get("local-states").getValue());'value='store.getCount())'>
  19. <div>
  20. <inputtype='text'id='local-states'></input>
  21. </div>
  22. </body>
  23. </html>

comboxTest.js代码:

Js代码 复制代码
  1. varstore;
  2. Ext.onReady(function(){
  • vardata=[['AL','Alabama'],['AK','Alaska']];
  • //DWRCall.getComboArray('1',function(data){alert(data[0][1]);});
  • /*varstore=newExt.data.SimpleStore({
  • fields:['text','value'],
  • data:data
  • });
  • */
  • /**CallcomboxData.jsp***/
  • /*store=newExt.data.Store({
  • url:'comboxData.jsp',
  • reader:newExt.data.XmlReader({
  • id:'id',
  • totalRecords:'results',
  • record:'row'
  • },[{name:'text',mapping:'name'},{name:'value',mapping:'occupation'}])
  • });
  • */
  • /*
  • store=newExt.data.Store({
  • url:'comboxData.jsp',
  • reader:newExt.data.JsonReader({
  • totalProperty:"results",//Thepropertywhichcontainsthetotaldatasetsize(optional)
  • root:"rows",//ThepropertywhichcontainsanArrayofrowobjects
  • id:"id"
  • },newExt.data.Record.create([
  • {name:'text',mapping:'name'},
  • {name:'value',mapping:'occupation'}
  • ]))
  • });
  • */
  • /******callDWR********/
  • /*
  • store=newExt.data.Store({
  • proxy:newExt.data.DWRProxy(DWRCall.getComboJsonByObject,"condy",{name:'condy',address:'xxxx',age:26}),
  • reader:newExt.data.DWRJsonReader({
  • totalProperty:"results",
  • root:"rows",
  • id:"id"
  • },newExt.data.Record.create([
  • {name:'text',mapping:'name'},
  • {name:'value',mapping:'occupation'}
  • ]))
  • });
  • */
  • /*
  • store=newExt.data.Store({
  • proxy:newExt.data.DWRProxy(DWRCall.getComboArray,"condy"),
  • reader:newExt.data.DWRArrayReader({
  • },newExt.data.Record.create([
  • {name:'text',mapping:0},
  • {name:'value',mapping:1}
  • ]))
  • });
  • */
  • store=newExt.data.Store({
  • proxy:newExt.data.DWRProxy(DWRCall.getComboXml,"condy","test"),
  • reader:newExt.data.DWRXmlReader({
  • id:'id',
  • totalRecords:'results',
  • record:'row'
  • },[{name:'text',mapping:'name'},{name:'value',mapping:'occupation'}])
  • });
  • varcombo=newExt.form.ComboBox({
  • store:store,
  • typeAhead:true,
  • displayField:'text',
  • valueField:'value',
  • mode:'local',
  • triggerAction:'all',
  • emptyText:'Selectastate...',
  • selectOnFocus:true,
  • applyTo:'local-states'
  • });
  • store.load({params:{}});
  • }
  • );
  • java部分代码:

    DWRCall.java

    Java代码 复制代码

    1. packagecom.test;
    2. publicclassDWRCall{
    3. publicStringgetCombo(Stringid){
    4. System.out.println("bbbbbbbbbbbbbbbb");
    5. StringBuffersb=newStringBuffer();
    6. sb.append("[[").append("'condy','name'],['candy','name']]");
    7. System.out.println(sb.toString());
    8. returnsb.toString();
    9. }
    10. publicString[][]getComboArray(Stringid){
    11. System.out.println("id:"+id);
    12. String[][]aaData={newString[]{"aaa","111"},newString[]{"bbb","222"}};
    13. returnaaData;
    14. }
    15. publicStringgetComboJson(Stringparam1,Stringparam2){
    16. System.out.println("param1:"+param1);
    17. System.out.println("param2:"+param2);
    18. StringBuffersb=newStringBuffer();
    19. sb.append("{'results':2,'rows':[");
    20. sb.append("{'id':1,'name':'Bill',occupation:'Gardener'},");
    21. sb.append("{'id':2,'name':'Ben',occupation:'Horticulturalist'}]");
    22. sb.append("}");
    23. System.out.println(sb.toString());
    24. returnsb.toString();
    25. }
    26. publicStringgetComboXml(Stringparam1,Stringparam2){
    27. System.out.println("param1:"+param1);
    28. System.out.println("param2:"+param2);
    29. StringBuffersbxml=newStringBuffer();
    30. sbxml.append("<?xmlversion=\"1.0\"encoding=\"GBK\"?>\n");
    31. sbxml.append("<dataset>\n");
    32. sbxml.append("<results>2</results>\n");
    33. sbxml.append("<row>\n");
    34. sbxml.append("<id>1</id>\n");
    35. sbxml.append("<name>Bill</name>\n");
    36. sbxml.append("<occupation>Gardener</occupation>\n");
    37. sbxml.append("</row>\n");
    38. sbxml.append("<row>\n");
    39. sbxml.append("<id>2</id>\n");
    40. sbxml.append("<name>Condy</name>\n");
    41. sbxml.append("<occupation>Horticulturalist</occupation>\n");
    42. sbxml.append("</row>\n");
    43. sbxml.append("</dataset>\n");
    44. System.out.println(sbxml.toString());
    45. returnsbxml.toString();
    46. }
    47. publicStringgetComboJsonByObject(Stringparam1,DWRObjectdwrobject){
    48. System.out.println("param1:"+param1);
    49. System.out.println("DWRObject:name:"+dwrobject.getName()+"age:"+dwrobject.getAge());
    50. StringBuffersb=newStringBuffer();
    51. sb.append("{'results':2,'rows':[");
    52. sb.append("{'id':1,'name':'Bill',occupation:'Gardener'},");
    53. sb.append("{'id':2,'name':'Ben',occupation:'Horticulturalist'}]");
    54. sb.append("}");
    55. System.out.println(sb.toString());
    56. returnsb.toString();
    57. }
    58. }

    DWRObject.java

    Java代码 复制代码
    1. packagecom.test;
    2. publicclassDWRObject{
    3. privateStringname;
    4. privateStringaddress;
    5. privateintage;
    6. /**
    7. *@returntheaddress
    8. */
    9. publicStringgetAddress(){
    10. returnaddress;
    11. }
    12. /**
    13. *@paramaddresstheaddresstoset
    14. */
    15. publicvoidsetAddress(Stringaddress){
    16. this.address=address;
    17. }
    18. /**
    19. *@returntheage
    20. */
    21. publicintgetAge(){
    22. returnage;
    23. }
    24. /**
    25. *@paramagetheagetoset
    26. */
    27. publicvoidsetAge(intage){
    28. this.age=age;
    29. }
    30. /**
    31. *@returnthename
    32. */
    33. publicStringgetName(){
    34. returnname;
    35. }
    36. /**
    37. *@paramnamethenametoset
    38. */
    39. publicvoidsetName(Stringname){
    40. this.name=name;
    41. }
    42. }
    分享到:
    评论

    相关推荐

      dwrproxy.js

      DWRProxy.js在ExtJS中的作用主要体现在数据绑定和远程调用上。ExtJS是一个强大的JavaScript组件库,提供了丰富的UI组件和数据管理工具。当结合DWRProxy.js时,ExtJS的数据模型能够直接与服务器进行交互,获取和更新...

      Ext的DWRProxy应用事例

      理解这些核心概念并结合实际的"DWRProxy.js"代码,我们可以深入学习如何在ExtJS应用程序中有效利用DWRProxy来实现与服务器的高效通信,从而提升用户体验。同时,DWRProxy结合源码阅读,可以帮助开发者更好地理解和...

      DWRproxy

      例如,你可以使用DWRproxy加载服务器端的数据到GridPanel,用户在前端对数据进行修改后,再通过DWRproxy将更新的数据提交回服务器。 总结来说,DWRproxy是EXT框架中一个强大的通信工具,它简化了前端与服务器之间的...

      ext中dwrproxy与json处理数据技术

      ExtJs中使用dwrproxy,和json来处理从数据库...数据库方面,该项目里用的是mysql,数据文件在war包里的db文件夹下,将其导入到test数据库里就可以了 这里的数据库用户名与密码都是root,如果不一样的话,请自行修改。

      DWRProxy的运用实例,Ext,Dwr,Spring的完美结合

      这个例子中有登录,有...表格中的数据是通过DWRProxy加载共分3中形式,用以下3中解析器来解析的: DWRJsonReader DWRArrayReader DWRXmlReader 数据完全由JAVA方法返回,由DWR动态调用,利用了Spring作为Bean的容器。

      dwrproxy dwrtreeloader

      在实际应用中,"dwrproxy.js"通常会被引入页面,为其他DWR组件提供基础支持。 **3. ExtJS** ExtJS是一个JavaScript UI库,用于创建功能丰富的、响应式的Web应用。它提供了大量的组件,如表格、窗体、面板等,以及...

      dwrProxy.js

      dwrProxy.js

      EXTJS 3 整合DWR (DWRProxy、DWRTreeLoader、DWRGridProxy )

      EXTJS 3 整合DWR (DWRProxy、DWRTreeLoader、DWRGridProxy) 是一个在EXTJS 3.0版本中实现的重要技术整合,它将DWR(Direct Web Remoting)的强大功能引入到EXTJS的前端框架中,以实现更高效的数据交互。EXTJS是一个...

      dwrproxy.js,DWRTreeLoader.js,PagingDWRProxy.js

      通过使用这个文件,开发者可以在界面上实时地添加、删除、修改树节点,提供用户友好的操作体验。 最后,`PagingDWRProxy.js`是DWR的分页代理,专为处理大量数据而设计。在现代Web应用中,当处理大量数据时,分页是...

      ExtJs DWR扩展 DWRProxy、DWRTreeLoader、DWRGridProxy

      4. **EXT3.0测试通过**: 这表明这些扩展已经在ExtJs 3.0版本上进行了充分的测试,证明了它们的兼容性和稳定性。ExtJs 3.0是一个成熟的版本,提供了丰富的组件和功能,广泛应用于企业级开发。 在实际应用中,这些...

      可用的dwrproxy.js,参考我的文章EXT+DWR分页

      EXT+DWR分页 ,前人基础修改,绝对能用 有问题的大家相互交流, 具体使用请参考我的文章EXT+DWR分页

      Ext扩展dwrproxy

      Ext扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxyExt扩展dwrproxy

      Ext2.2.GridPanel分页处理+dwrproxy(js对象和json两种数据)

      在这个例子中,我们创建了一个使用DWRProxy的Store,DWRProxy允许我们在后台Java方法和前端JavaScript之间进行透明的数据交换。DWR方法`YourDWRMethod`应该接受分页参数(start和limit),并返回包含数据和总记录数...

      ext js配合dwr在java中的用法

      dwrproxy.js 博文链接:https://cicada-it.iteye.com/blog/102949

      DwrProxy.js

      extjs中用dwr请求数据之后用于进行分页的插件

      DWRProxy.js,DWRTreeLoader.js,PagingDWRProxy.js

      用EXT和DWR结合起来做工程时,在数据传输时会有点麻烦,这里提供的3个JS文件分别实现了DWR的数据代理,分页查询处理,动态树加载。并且实现了Ext.data.DWRArrayReader Ext.data.DWRXmlReader Ext.data....

      Ext_Dwr_Spring_Hibernate完美结合,工程实例

      该工程在MyEclipse中可以无错的导入,带jar包,带数据库建表语句(包括插入...是在以前发的一个例子的基础上增加了数据库,数据不是硬编码的,使用了Hibernate.页面的原型则利用刘长炯老师的例子,这里感谢刘长炯老师!

      extjs兼容dwr的代理和DWRTreeLoader

      本主题将深入探讨如何在ExtJS中使用DWR的代理(DWRProxy)以及树结构加载器(DWRTreeLoader),以便于在ExtJS组件,特别是树形控件中有效地利用DWR的功能。 首先,让我们了解DWRProxy。DWRProxy是ExtJS中用于与DWR...

    Global site tag (gtag.js) - Google Analytics