后台接受前台的start 和 limit 得判断limit能否被总记录整除
后台部分代码:
ILogInfoService loginInfoServiceImpl = new LoginInfoServiceImpl();
JSONArray displayLogInfo = loginInfoServiceImpl.displayLogInfo();
int size = displayLogInfo.size();//总记录数
int start = Integer.parseInt(request.getParameter("start"));
int limit = Integer.parseInt(request.getParameter("limit"));
int total = 0;
if(size%limit==0)
total = start + limit;
else{
if(start<size-size%limit)
total = start + limit;
else
total = start + size%limit;//不能被整除,最后一条记录id
}
StringBuffer sb = new StringBuffer("{results:");
sb.append(size);
sb.append(",rows:[");
for(int i=start;i<total;i++){
sb.append(displayLogInfo.get(i));
if(i<total-1)
sb.append(",");
}
sb.append("]}");
out.print(sb);
前台代码部分代码:
var _store = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : "servlet/LogInfo?action=display",
method : 'post'
}),
reader : new Ext.data.JsonReader({
root : 'rows',
totalProperty : 'results',
fields : ["sn", "description", "type", "time"]
})
});
_store.load({
params : {
start : 0,
limit : 30
}
});
bbar : new Ext.PagingToolbar({
pageSize : 30,
store : _store,
displayInfo : true,
displayMsg : 'Displaying logInfo{0}-{1}of{2}',
emptyMsg : 'No logInfo found'
})