EXT前台:
var grid = new Ext.grid.GridPanel({
autoHeight : true,
tbar : gridTbar,
loadMask : true,
bbar : pgBar,
store : store,
region : 'center',
selModel : new Ext.grid.RowSelectionModel(),
cm : cm,
sm : sm,
viewConfig : {
forceFit : true
},
autoExpandColumn : 'content',
title : '全部'
}); store.load({
params : {
 start : 0,
 limit : 10
 }
});
java后台:
public ActionForward getAlldailyList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException {

response.setCharacterEncoding("utf-8");
response.setContentType("text/xml;charset=UTF-8");
String startStr=request.getParameter("start");
String limitStr=request.getParameter("limit");
if(startStr!=null){
 start=Integer.parseInt(startStr);
}
System.out.println(start);
if(limitStr!=null){
 limit=Integer.parseInt(limitStr);
}
System.out.println(start);
List<Daily> alldailylist = dailyManager.getDailies(new Daily());
if(alldailylist!=null&&alldailylist.size()>0){
StringBuffer sb=new StringBuffer("");
String s="";
sb.append("{");
sb.append("getAlldailyList:[");
for(int i=start;i<(start+limit);i++){
s+=",{id:"+alldailylist.get(i).getDailyid()+",title:'"+alldailylist.get(i).getTitle()+"',content:'"+alldailylist.get(i).getContent()+"',poster:'"+alldailylist.get(i).getPoster()+"',posttime:'"+alldailylist.get(i).getPosttime()+"'}";//此处有错误,原因为2 }
                           if(s.startsWith(",")){
  sb.append(s.substring(1)+"]");
}
sb.append(",totalProperty:" + alldailylist.size());
System.out.println(sb.toString());
sb.append("}");
response.getWriter().print(sb.toString());
//System.out.println(sb.toString());
}
return null;
}
现在有两个问题:
1、limit和start两个参数传到后台为null
2、当我的alldailylist 中的元素不足limit的时候,就出错了,说是数组越界,但是我不能保证每一页都有limit个数据啊,请问这里的循环应该怎么写呢?谢谢大家了

解决方案 »

  1.   

    我也老是报空指针的错误
    别人教的都是打印出来信息看是否为空,好像要传到页面上在页面上写FOR的吧。
    个人认为
    初学者。
    呵呵
      

  2.   

    List<Daily> alldailylist = dailyManager.getDailies(new Daily());
    你这是把所有的数据都查出来了 数据多的话效率和性能很低的应该根据limit和start两个参数 查询出来对象的结果集
      

  3.   

    查询的时候添加查询条数不是有limit 和 start 吗如果是第三页内容就查询id为 第二页*limit+1 到 第三页*limit的内容
    有些数据库支持区多少条的,具体看数据库api  如果没有 也这样有id主键取查询结果不够limit
    展示时报错这个你获取的时候不是通过limit的个数获取,应该通过获取的数量多少进行循环 这样就不会报越界了!!