使用的 struts1  action 里面的方法、、  */
public ActionForward doSelectPlugTree(ActionMapping mapping, ActionForm actionform, HttpServletRequest request, HttpServletResponse response)
{
String parentId = IdasWebUtils.getParameter(request, "parentId", null);
boolean isRoot = IdasWebUtils.getParameter(request, "isRoot", false);
request.setAttribute("parentId", parentId);
/*if (isRoot && "-1".equals(parentId))
{
parentId = "";
}*/
System.out.println("----------------------" + parentId);
List<TreeNodeInfo> districtList = new ArrayList<TreeNodeInfo>();
districtList = this.appPlugService.getAppDepartmentTree(parentId);  //一直报的空指针、、
                  request.setAttribute("districtList", districtList);
return mapping.findForward("selectDepartmentTree.jsp");
}2011-11-23 13:36:54,921 ERROR [com.idas.app.framework.customFrame.struts.action.AppPlugAction] - 
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276)
at com.idas.app.framework.core.base.action.IdasBaseAction.execute(IdasBaseAction.java:163)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.idas.app.framework.core.filter.IdasCharacterEncodingFilter.doFilter(IdasCharacterEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.idas.app.framework.core.filter.IdasCharacterEncodingFilter.doFilter(IdasCharacterEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.idas.app.framework.customFrame.struts.action.AppPlugAction.doSelectPlugTree(AppPlugAction.java:65)
... 30 more

解决方案 »

  1.   


    以下是实现方法、、 public List<TreeNodeInfo> getAppDepartmentTree(String parentDepartmentId)
    {
    System.out.println("parentDepartmentId================================"+parentDepartmentId);
    StringBuffer sb = new StringBuffer();  
    List<Map<String, ?>> list = null; //定义一个空的List
    sb.append(" a.CUSTOMFRAME_CHILD_ID as id, a.CUSTOMFRAME_MENU_ID as name, '" + parentDepartmentId + "' as parentid, ");
    sb.append(" (select count(*) from APP_CUSTOMFRAME_CHILD b where * b.CUSTOMFRAME_CHILD_ID = a.CUSTOMFRAME_MENU_ID) as childNum ");
    sb.append(" from * APP_CUSTOMFRAME_CHILD a where  "); //符SQL语句
    if (! StringUtils.isEmpty(parentDepartmentId))    //parentDepartmentId 如果为空的情况下、
    {
    sb.append(" a.CUSTOMFRAME_MENU_ID = ? ");
    sb.append(" order by * CUSTOMFRAME_MENU_ID ");
    list = this.idasBaseJdbcDao.queryForList(sb.toString(), new Object[]{ parentDepartmentId });
    } else //parentDepartmentId 不为空的话、
    {
    sb.append(" a.CUSTOMFRAME_CHILD_ID is null ");
    sb.append(" order by * CUSTOMFRAME_MENU_ID ");
    list = this.idasBaseJdbcDao.queryForList(sb.toString());
    }
    System.out.println("SB++++++++++++"+sb);
    for(int i = 0;i<list.size();i++){
    System.out.println("数组----"+list.iterator());
    }
    return IdasTreeUtils.ListToTreeList(list);
    }
    }