首页 新闻 搜索 专区 学院

一个关于Ext+Struts2中jsonStore获取不到服务器端的json数据的问题,请帮助一下,纠结两天了

0
悬赏园豆:100 [已解决问题] 解决于 2012-11-07 10:33

我在开发Ext+SSH的一个应用时,用Ext的jsonStore调用Struts2的Action中的方法,Action中的部分代码如下:

       this.success = true;
       this.totalCount =  this.page.getTotalCount();
       this.result = jb.toString() ;
       System.out.println(result);


这里采用的是Struts2的json-pluing包转换json格式,我在前台是这样写的:

/** ****************************历史记录列表,连接数据库操作...***********************************/
HistoryGridPanel = Ext.extend(Ext.grid.GridPanel, {
    _store : null,
    constructor : function() {
        //解析数据库返回Json格式数据
        this._store = new Ext.data.JsonStore({
            autoLoad: true, //自动加载数据
            url : "manage!loginHistory.action",
            root : 'result',//对应一个数组,该数组可能有N个对象
            totalProperty : 'totalCount',//总共的数据条数
            method : 'post',
            remoteSort : true,//远程排序
            fields : ["id","ip","time"]//从查找的数据中获取这三个字段
        });
        HistoryGridPanel.superclass.constructor.call(this, {
            width : 400,
            id : "historygrid",
            height : 380,
            loadMask : true,
            viewConfig : {
                forceFit : true//列宽自动延伸
            },
            ds : this._store,
            stripeRows : true,//有波纹特效
            columns : [new Ext.grid.RowNumberer(), //自动显示行号
                 {
                    header : "登陆IP地址",
                    sortable : true,
                    dataIndex : 'ip'//引用ip的数据
                }, {
                    header : "登陆时间",
                    name : "time",
                    sortable : true,
                    dataIndex : 'time'//引用time的数据
                }],
                sm : new Ext.grid.RowSelectionModel({//单行选择模式
                    singleSelect : true
                }),
                bbar : new Ext.PagingToolbar({//分页工具条
                    pageSize : 15,//每页显示几条数据
                    store : this._store,//与store相关联,与表格共享数据模型
                    displayInfo : true,//是否显示数据信息
                    displayMsg : "显示 {0} -- {1}条,共 {2} 条"
                   })
                });
                this._store.load({//传参
                    params : {
                         start : 0,//指示从第几个数据开始显示
                         limit : 15//指从start开始一共要用多少条数据
                           } 
                        });
            }
        });

 

我在firefox的开发后台能看到这样的反馈:

现在我的程序界面大概只能展示成这样

请教一下:为什么我这样显示不了数据?海还有那个{1}的值为什么会那样??

^_TONY_^的主页 ^_TONY_^ | 初学一级 | 园豆:123
提问于:2012-11-06 13:15
< >
分享
最佳答案
0

你返回的数据里没有totalCount属性

收获园豆:100
herofire | 菜鸟二级 |园豆:306 | 2012-11-06 13:42

有啊,下面那个50就是

^_TONY_^ | 园豆:123 (初学一级) | 2012-11-06 14:37
其他回答(1)
0

这里跟我的result设置有关,自己解决了

^_TONY_^ | 园豆:123 (初学一级) | 2012-11-06 15:22

结贴了,虽然楼上没回答好我的问题,还是把分给你

支持(0) 反对(0) ^_TONY_^ | 园豆:123 (初学一级) | 2012-11-07 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册