ext grid不显示数据

nature_he 2009-12-03 10:57:22
我用的是struts2和ext3.0
我在自己的action里调用
outJson(stuList);
这个方法是我从网上找的例子的工具类继承来的
工具类代码如下

package com.jju.psytest.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**
*
* yulinlincom@gmail.com
* @author linlin yu
* @version 1.0
*/
public class BaseAction extends ActionSupport implements Serializable {

public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}

public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}

public void outJsonString(String str) {
getResponse().setContentType("text/javascript;charset=UTF-8");

System.out.println(str);//测试代码
outString(str);
}

public void outJson(Object obj) {
outJsonString(JSONObject.fromObject(obj).toString());
}

public void outJsonArray(Object array) {
outJsonArray(JSONArray.fromObject(array).toString());
}
//最后输出的方法
public void outString(String str) {
try {

PrintWriter out =getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}

public void outXMLString(String xmlStr) {
getResponse().setContentType("application/xml;charset=UTF-8");
outString(xmlStr);
}

}



后台可以把json数据打印出来
{"list":[{"id":"1","name":"name1"},{"id":"2","name":"name2"},{"id":"3","name":"name3"},{"id":"4","name":"name4"}],"message":"","success":false,"totalSize":4}
可前台可以显示表格,但是表格内容为空
前台ext代码为

Ext.onReady(function(){

var cm = new Ext.grid.ColumnModel([
{
header: '编号 ',
dataIndex: 'id',
width: 30
},
{
header: '名字 ',
dataIndex: 'name',
width: 50
}
]);
cm.defaultSortable = true;




var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url:'admin/student_list.action',
method:'post'
}),
reader: new Ext.data.JsonReader({

totalProperty : 'totalSize',
id : 'id',
remoteSort: true,
root:'list',
fields:[
{name:'id',type:'string'},
{name:'name',type:'string'}
]
})
});

ds.load();

var grid = new Ext.grid.GridPanel({
margins: '5 5 5 5 ',
renderTo: 'grid',
width: 600,
height: 500,
store: ds,
cm: cm,
viewConfig: {
forceFit: true
}
});

var viewport = new Ext.Viewport( {
layout : 'border',
items : [ grid ]
});
});

...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nature_he 2009-12-04
  • 打赏
  • 举报
回复
哦,慢慢试吧
happy664618843 2009-12-03
  • 打赏
  • 举报
回复
单步调试最好解决方法
woshifou 2009-12-03
  • 打赏
  • 举报
回复
你调试下,看有没有post回数据。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧