我用Spirng MVC 和EXt做个数据显示,在Ext界面有一个查询页面,点击后在GridPanel里面显示数据,但是总是显示不出来啊! MVC里面方法返回一个List结果集,spring会自动将结果集转成Jons格式,但是我Ext页面Store不知道怎么处理了,以下是我写的主要的代码:
var UserDs = new Ext.data.JsonStore(Ext.apply({
url : 'user/searchUser.do?format=json'
}, {
root : 'userList',
fields : [ 'userId', 'userName' ]
})); var userGrid = new Ext.grid.GridPanel({
resizable : true,
height : 315,
autoWidth : true,
border : false,
ds : UserDs,
cm : new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), {
header : "会员编号内码",
width : 100,
sortable : true,
dataIndex : 'userId'
}, {
header : "会员卡号",
width : 100,
sortable : true,
dataIndex : 'userName'
} ])
});

解决方案 »

  1.   

    首先你打印返回的json对象,看是不是你要的格式,类似这样
    {userList:[{'username1':username1,"password1"P:password1},{{'username2':username2,"password2"P:password2}]}的格式才是正确的
    因为你root:'userList',所以上面一定要是userList
      

  2.   

    这个Json不好打印出来啊 我只是在游览器里面查看到 就是前台不给显示出来!
      

  3.   

    你后台肯定要拿到json对象,才可以返回前台,不明白你说的不好打印是什么意思?看后台代码
      

  4.   

    我controller里面的方法返回一个list,spring自动转成json了啊 ,我在ie游览器里面看到了请求后响应的数据到网络上是json了,后台没什么问题了,主要是ext的问题 不知道哪里错了!
      

  5.   

    cm : new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), {
    呵呵 一看这个,就知道不是ext4的吧,前天刚纠结这个Ext.grid.ColumnModel捏
      

  6.   

    你贴的代码不全吧,怎么没有store
      

  7.   

    哦 是这个ds : UserDs, var sqlEdiataStore = Ext.create("Ext.data.Store", {
             fields : ['id', 'dataName'],
    proxy : {
    type : "ajax",
    url : ps+"/tconfig/ptDaist.do?t_id="+t_id,
    reader : {
    type : "json",
    root : "ds"
    }
    },
    autoLoad : true
    });这个是4的store,你的是几的啊,
      

  8.   

    兄弟啊  不是我不贴啊 代码在公司电脑上不能联网,我只能打了! 
        var UserDs=new Ext.data.JsonStore({
          ur:"XXXx"
    },config)   //config 是你的字段那些信息
      UserDs.on("load",function(){
         if(UserDs.getTotalcount()<=0){
           alert("重新查询“); 
        }
    });下面查询按钮 绑定一个查询方法 把UserDs传进去 就可以了!