这是action中的文件,debug到这里List list = SpeakforServingService.getAll(dc);就报空指针了,谢谢各位帮忙看下!
报错信息如下:
2009-09-22 14:38:35,125  WARN [http-8082-4] (RequestProcessor.java:528) WARN   - Unhandled Exception thrown: class java.lang.NullPointerException
2009-9-22 14:38:37 org.apache.catalina.core.ApplicationContext log
信息: java.lang.NullPointerExceptionaction的代码:
public ActionForward execute(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {

ServicesForm servicesForm = (ServicesForm) form; String names = request.getParameter("names");
DetachedCriteria dc = DetachedCriteria
.forClass(Services.class);
if (names != null && !names.equals("")) {
dc.add(Restrictions.like("names", names,
MatchMode.ANYWHERE));
}
List list = SpeakforServingService.getAll(dc);
int totalrow = list.size();
int perpagerow = servicesForm.getPerpagerow();
int currentpage = servicesForm.getCurrentpage();
if (currentpage == 0) {
servicesForm.setCurrentpage(1);
}
int start = (currentpage - 1) * perpagerow;
List pageList = SpeakforServingService.findPageList(dc,
start, perpagerow);
servicesForm.setTotalrow(totalrow); request.setAttribute("servicesList", pageList);
request.setAttribute("servicesForm", servicesForm);
request.setAttribute("names", names);
return mapping.findForward("toSpeakfor");
}}debug到这个地方:List list = SpeakforServingService.getAll(dc);就报错了!

解决方案 »

  1.   

    你在这句List list = SpeakforServingService.getAll(dc);前把dc打印出来看看,估计是null,也就是说你的dc.add没有执行成功,dc里面没值
      

  2.   

    查下哪个对象为空, 跟到SpeakforServingService.getAll这个方法里面看看, 这样看不来错误的源头..
      

  3.   

    List list = SpeakforServingService.getAll(dc);你提供的信息太少了!
      

  4.   

    你的SpeakforServingService是个空的引用,检查你SpeakforServingService这个类在配置文件中的配置。
      

  5.   

    估计是dc为null, 但是SpeakforServingService.getAll方法中调用了dc的方法,所以出现空指针
      

  6.   

    dc为null,
    可能是add方法没有执行,
    一步一步测试。
      

  7.   

      List list = SpeakforServingService.getAll(dc);
     int totalrow = list.size();list是null吗?是的话
    list.size(); 错啦! 等价(null.size())!
      

  8.   

    getAll方法里面要加空值判断。
      

  9.   

    我同意,是不是你用了spring 注入,但是忘了在spring中配置了???如果没用 spring 那检查下你SpeakforServingService在哪实例化的?