最近做ExtJS,遇到一个问题,就是我发送请求可以返回字符串,但是我的前台却显示不出来,也不报错,请大家帮我看看是怎么回事,先谢谢了。这个是我的Action类关键代码: @Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("获取到请求");
String msg = ExtHelper.getJsonFromList(manager.search());
System.out.println("msg:"+msg);
ServletActionContext.getResponse().getWriter().write(msg);
return null;
}
下面是我工具类,封装Json数据的代码: /**
* 将List集合解析成JSON数据
* @param list
* @return
*/
public static String getJsonFromList(List list){
TotalJson totalJson = new TotalJson();
totalJson.setItems(list);
totalJson.setTotal(list.size());
JSONObject object = JSONObject.fromObject(totalJson);
return object.toString();
}
封装后的Json数据是这个样子:
{"items":[{"address":"1","id":1,"name":"1"},{"address":"2","id":2,"name":"2"},{"address":"3","id":3,"name":"3"},{"address":"4","id":4,"name":"4"},{"address":"5","id":5,"name":"5"},{"address":"6","id":6,"name":"6"},{"address":"7","id":7,"name":"7"},{"address":"8","id":8,"name":"8"},{"address":"9","id":9,"name":"9"}],"total":9}下面是前台页面代码:Ext.onReady(function(){
var store = new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.ScriptTagProxy({
url: 'student'
}),
reader: new Ext.data.JsonReader({
root: 'items',
totalProperty: 'total',
idProperty: 'id',
fields: [
{name:'id'},
{name: 'name'},
{name: 'address'}
]
})
});
var grid = new Ext.grid.GridPanel({
renderTo: 'grid-div',
width:700,
height:600,
frame:true,
stripeRows:true,
title:'<center>***管理</center>',
store: store,
columns: [new Ext.grid.RowNumberer({width: 30}),{
id: 'id',
header: "编号",
dataIndex: 'id',
width: 420,
sortable:true
},{
header: "姓名",
dataIndex: 'name',
width: 70,
align: 'right',
sortable:true
},{
id: 'address',
header: "地址",
dataIndex: 'adress',
width: 150,
sortable:true
}],
bbar: new Ext.PagingToolbar({
store: store,
pageSize:20,
displayInfo:true
})
});
});调试出来之后,也不报错,什么也不显示,请各位大哥帮我看看这是什么原因.
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("获取到请求");
String msg = ExtHelper.getJsonFromList(manager.search());
System.out.println("msg:"+msg);
ServletActionContext.getResponse().getWriter().write(msg);
return null;
}
下面是我工具类,封装Json数据的代码: /**
* 将List集合解析成JSON数据
* @param list
* @return
*/
public static String getJsonFromList(List list){
TotalJson totalJson = new TotalJson();
totalJson.setItems(list);
totalJson.setTotal(list.size());
JSONObject object = JSONObject.fromObject(totalJson);
return object.toString();
}
封装后的Json数据是这个样子:
{"items":[{"address":"1","id":1,"name":"1"},{"address":"2","id":2,"name":"2"},{"address":"3","id":3,"name":"3"},{"address":"4","id":4,"name":"4"},{"address":"5","id":5,"name":"5"},{"address":"6","id":6,"name":"6"},{"address":"7","id":7,"name":"7"},{"address":"8","id":8,"name":"8"},{"address":"9","id":9,"name":"9"}],"total":9}下面是前台页面代码:Ext.onReady(function(){
var store = new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.ScriptTagProxy({
url: 'student'
}),
reader: new Ext.data.JsonReader({
root: 'items',
totalProperty: 'total',
idProperty: 'id',
fields: [
{name:'id'},
{name: 'name'},
{name: 'address'}
]
})
});
var grid = new Ext.grid.GridPanel({
renderTo: 'grid-div',
width:700,
height:600,
frame:true,
stripeRows:true,
title:'<center>***管理</center>',
store: store,
columns: [new Ext.grid.RowNumberer({width: 30}),{
id: 'id',
header: "编号",
dataIndex: 'id',
width: 420,
sortable:true
},{
header: "姓名",
dataIndex: 'name',
width: 70,
align: 'right',
sortable:true
},{
id: 'address',
header: "地址",
dataIndex: 'adress',
width: 150,
sortable:true
}],
bbar: new Ext.PagingToolbar({
store: store,
pageSize:20,
displayInfo:true
})
});
});调试出来之后,也不报错,什么也不显示,请各位大哥帮我看看这是什么原因.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货