Ext.onReady(function(){
var proxy = new Ext.data.HttpProxy({url: "PageServlet"});
//HttpProxy:使用HTTP协议通过ajax从远程服务器获取数据的代理,需要指定url。
var Dept = Ext.data.Record.create([
{name: "did", type: "int", mapping: "did"},
{name: "dname", type: "string", mapping: "dname"}
]);
var reader = new Ext.data.JsonReader({
totalProperty: "totalProperty", //总记录数
root: "root" //所有的数据(json对象数组)
}, Dept);
//,Ext.data.Store的主要目的是在内存中建立一张数据表,填充到组件中,
var store = new Ext.data.Store({
proxy: proxy,
reader: reader,
autoLoad: true //即时加载数据
}); var combo = new Ext.form.ComboBox({
store: store,
emptyText: "请选择部门",
mode: "remote",
pageSize: 5,
triggerAction: "all",
displayField: "dname",
valueField: "did",
renderTo: Ext.getBody(),
readOnly: true,
listWidth: 300
});
});
PageServlet.java public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType("text/html");
System.out.println(" ++++++++++"+request.getParameter("start"));//此句打印出null
//起始索引
int start = Integer.parseInt(request.getParameter("start"));
//页大小
int limit=Integer.parseInt(request.getParameter("limit"));
System.out.println(start + "," + limit);
int totalProperty = 20;
String fmt = "{did: %d, dname: '%s'}";
StringBuffer s = new StringBuffer("{totalProperty:");
s.append(totalProperty).append(", root:[");
int end = start + limit;
//因为不是查找数据库,所以需要多加一个判断
if(end > totalProperty) end = totalProperty;//如果是数据库,本行要删除
for(int i = start; i < end; i ++){
s.append(String.format(fmt, i, "部门" + i));
if(i < end - 1){
s.append(",");//各json对象用“,”隔开,最后一个不要
}
}
s.append("]}");
//
out.println(s.toString());
out.flush();
out.close();
}
问题:在servlet中 limit 和Start都为Null
在firebug中显示:NetworkError: 500 Internal Server Error - http://localhost:8080/EXTtest/PageServlet?_dc=1346843439807"后面那个参数我都没有见过。。这是怎么回事?
那位大神帮帮我呀。。
自己先贴个firebug里的信息
去掉 autoLoad: true