+ -
当前位置:首页 → 问答吧 → 如何解决JSP中ArrayList传值的问题

如何解决JSP中ArrayList传值的问题

时间:2010-08-14

来源:互联网

下面是我的jsp文件里面的一段代码,result 是通过一个 servlet来传递的一个ArrayList类型的值。
                                                            这里result也有可能没有赋值,这样的情况通过if语句判断,直接给al变量赋值

                      CategoryBeanCl cba=new CategoryBeanCl();
                      ArrayList al=(ArrayList)request.getAttribute("result");
                      //ArrayList al=cba.getCategoryByPages(1);
                      if (al.isEmpty()){
                         al=cba.getCategoryByPages(1);
                      }



这下面是Servlet的代码,result是在这个时候通过最后一句传递过来的

    int  pageNow=1;
    CategoryBeanCl cbc=new CategoryBeanCl();
    ArrayList    al=cbc.getCategoryByPages(pageNow);
    int          pageCount=cbc.getPageCount();
    req.setAttribute("result", al);
    req.setAttribute("pageCount", pageCount+"");
    req.setAttribute("pageNow", pageNow+"");
    req.getRequestDispatcher("libadmin/category_manager.jsp").forward(req,res);



以上代码,在运行的时候报错(java.lang.NullPointerException),错误点在al.isEmpty()这里。


因为result一开始是没有值的,之后才通过servlet赋值,所以需要加一个判断,设置一个默认值
请问怎么解决这样的情况?

作者: 化石才会遭到天谴   发布时间: 2010-08-14

就是单纯的jsp和servlet+sql server2000,没有用ssh。

作者: 化石才会遭到天谴   发布时间: 2010-08-14

ArrayList    al=cbc.getCategoryByPages(pageNow);
应该这里返回时null。
这样传值是没问题的

作者: tong0245   发布时间: 2010-08-14