快速业务通道

TreeLoader扩展,支持josn-plugin返回的json对象中包含的数组值 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

TreeLoader扩展,支持josn-plugin返回的json对象中包含的数组值

时间:2011-01-21 javaeye yourgame

Struts2的josn插件 josn-plugin 对我们开发extjs程序很方便,但是他每次返回的数据格式都是以一个对象的方式返回的,对象中可以包含其他格式的数据,比如数组.

这就是一般的返回格式

Js代码

{"root":[{"address":"shenzhen","company":"Bank of China","manager":"true","name":"Jack","password":"a","userid":"8ad08c8323eeb3ba0123eeb3c6e20001","username":"a","zip":"518000"},{"address":"dongjing","company":"Bank of Japan","manager":"false","name":"Jack Cheng","password":"b","userid":"8ad08c8323eeb3ba0123eeb3c6e20002","username":"b","zip":"518000"}],"totalProperty":2}

struts2后台配置为

Xml代码

<action name="getUsers" class="userAction" method="getUsers">    <result type="json">      <param name="root">      page      </param>      <param name="excludeNullProperties">      true      </param>      <param name="includeProperties">      root.*,totalProperty       </param>    </result> </action>

而我们做树(TreePanel)的时候需要服务器返回的数据是数组对象的形式.如下

Js代码

[{"address":"shenzhen","company":"Bank of China","manager":"true","name":"Jack","password":"a","userid":"8ad08c8323eeb3ba0123eeb3c6e20001","username":"a","zip":"518000"},{"address":"dongjing","company":"Bank of Japan","manager":"false","name":"Jack Cheng","password":"b","userid":"8ad08c8323eeb3ba0123eeb3c6e20002","username":"b","zip":"518000"}]

但是json-plugin不支持直接返回这种格式,所以我们可以修改一下TreeLoader的处理函数

Js代码

//TreeLoader扩展,支持josn-plugin返回的json对象中包含的数组值 Ext.tree.JsonPluginTreeLoader = function (config) {    this.rootName = ''root'';    Ext.tree.JsonPluginTreeLoader.superclass.constructor.call(this, config); } Ext.extend(Ext.tree.JsonPluginTreeLoader, Ext.tree.TreeLoader, {    processResponse: function (response, node, callback) {      var json = response.responseText;      try {        var o = response.responseData || Ext.decode(json); //在原代码基础上增加了下面处理---------------------        if (Ext.type(o) == ''object'') {//如果返回的是对象则获取他的root部分,rootName是可以在使用的时候配置

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号