小弟初学extjs 弄了很久 也不能在页面上显示出来 帮我看看 是少了什么还是?简单点 能显示出来就好~actionpublic String execute() {
list = service.query();
JsonUtils util = new JsonUtils();
String i = util.listToJson(list);
System.out.println(i); if (list != null) {
return SUCCESS;
}
return null;
}
控制台能输出json数据
xml<struts>
<package name="jsonManager" namespace="/" extends="json-default">
<action name="query" class="queryAction" method="query">
<result name="success" type="json">
<param name="incluedProperties">
</param>
</result>
</action>
</package>
</struts>
js
Ext.onReady(function() {
cm = new Ext.grid.ColumnModel( [ {
header : '名称',
dataIndex : 'name'
}, {
header : '代码',
dataIndex : 'code'
}, {
header : '包装',
dataIndex : 'package'
}, {
header : '价格',
dataIndex : 'price'
}, {
header : '生产厂家',
dataIndex : 'factory'
} ]);
var jsonRecord = new Ext.data.Record.create( [ {
name : 'name'
}, {
name : 'code'
}, {
name : 'package'
}, {
name : 'pirce'
}, {
name : 'factory'
} ]); var store = new Ext.data.JsonStore( {
url : 'http://localhost:8080/Mis/query.action',
root : 'result',
fields : [ {
name : 'code',
mapping : 'code'
}, {
name : 'factory',
mapping : 'factory'
}, {
name : 'name',
mapping : 'name'
}, {
name : 'package',
mapping : 'package'
}, {
name : 'price',
mapping : 'price'
} ]
}); var grid = new Ext.grid.GridPanel( {
renderTo : 'grid',
title : '商品信息列表',
height : 300,
width : 600,
cm : cm,
store : store
});
});

解决方案 »

  1.   

    我没看到你将json返回页面的代码 你页面能取到json吗?
      

  2.   

    好像取不到 我就在控制台里能输出来
    [{"code":"22","factory":"55","name":"44","package":"33","price":11},{"code":"ggg","factory":"333","name":"444","package":"222","price":11}
    这种格式的~~
      

  3.   

    返回 success前 将json字符串为参数调用下面方法public void jsonOut(String result) throws Exception{

        PrintWriter outer = null;
            response.setCharacterEncoding("utf-8");
    response.setContentType("text/json;charset=utf-8");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
    response.setContentType("text/html");
    try {
     outer = this.response.getWriter();
    } catch (IOException e) {
     log.error(e);
    }

    if(outer!=null){
    outer.print(result);
    outer.flush();
    outer.close();
    } else {
    throw new Exception("输出异常");
    }
    }
      

  4.   

    你的JSONSTORE里配了root:'result'  
    JSON里要有这个key  "result":[{}]