package org.steelam.base;
import java.util.*;import org.steelam.beans.Team;
import org.steelam.dao.EmployeeDao;
import org.steelam.daoImpl.EmployeeDaoImpl;
import org.steelam.model.service.EmployeeService;
import org.steelam.serviceImpl.EmployeeServiceImpl;/** 供JSON-RPC组件远程调用的AjaxBean */
public class AjaxBean extends BaseLog  implements java.io.Serializable { /**
 * 
 */
private static final long serialVersionUID = 1L; /**取得班组列表*/
public String[][] getTeam(){
String[][] options = null;
EmployeeDao em=new EmployeeDaoImpl();
try{
List list = em.getTeams();

Team team =null;
int i = 0;
if (list!=null){
options = new String[list.size()][2];
Iterator it = list.iterator();
while(it.hasNext()){
team = (Team)it.next();
options[i][0] =team.getId().toString();
options[i][1] =team.getTeamName().trim();
i++;
}
}else{
options = new String[1][2];
options[0][0] ="0";
options[0][1] ="无班组";
}
}catch(Exception ex){
logger.info("在执行AjaxBean类中的getTeam方法时出错:\n");
ex.printStackTrace();
}
return options;
}

public static void main(String[] args){
AjaxBean ax= new AjaxBean();
ax.getTeam();
System.out.println("@@@@@@@@@@@@@@@@@");
}
}运行Main方法后,出现以下提示:
2009-03-25 19:12:59 [日志信息] 在执行AjaxBean类中的getTeam方法时出错:@@@@@@@@@@@@@@@@@
java.lang.NullPointerException
at org.steelam.daoImpl.EmployeeDaoImpl.getTeams(EmployeeDaoImpl.java:52)
at org.steelam.base.AjaxBean.getTeam(AjaxBean.java:25)
at org.steelam.base.AjaxBean.main(AjaxBean.java:52)
请问哪儿出现了空指针呢?

解决方案 »

  1.   

    org.steelam.daoImpl.EmployeeDaoImpl.getTeams(EmployeeDaoImpl.java:52) 
    这行
      

  2.   

    EmployeeDaoImpl.java:52
    AjaxBean.java:25
      

  3.   

    EmployeeDaoImpl.java:52第52行啊。错误那么明确!
      

  4.   

    EmployeeDaoImpl.java:52
    在你EmployeeDaoImpl.java 第52行啊兄弟,出错了
    你可以点击 一下 它自动会链接到该页面
    找到错误的那行。
    以后就可以这样了
    希望可以帮助你哦
    ^_*
      

  5.   

    package org.steelam.base;
    import java.util.*;import org.steelam.beans.Team;
    import org.steelam.dao.EmployeeDao;
    import org.steelam.daoImpl.EmployeeDaoImpl;
    import org.steelam.model.service.EmployeeService;
    import org.steelam.serviceImpl.EmployeeServiceImpl;/** 供JSON-RPC组件远程调用的AjaxBean */
    public class AjaxBean extends BaseLog  implements java.io.Serializable {
    private EmployeeService employeeService;

    //  进行依赖注入
    /**
     * @return the employeeService
     */
    public EmployeeService getEmployeeService() {
    return employeeService;
    }
    public void setEmployeeService(EmployeeService employeeService) {
    this.employeeService = employeeService;
    }
    /**
     * 
     */
    private static final long serialVersionUID = 1L; /**取得班组列表*/
    public String[][] getTeam(){
    String[][] options = null;

    try{
    List list = this.employeeService.getTeams();

    Team team =null;
    int i = 0;
    if (list!=null){
    options = new String[list.size()][2];
    Iterator it = list.iterator();
    while(it.hasNext()){
    team = (Team)it.next();
    options[i][0] =team.getId().toString();
    options[i][1] =team.getTeamName().trim();
    i++;
    }
    }else{
    options = new String[1][2];
    options[0][0] ="0";
    options[0][1] ="无班组";
    }
    }catch(Exception ex){
    logger.info("在执行AjaxBean类中的getTeam方法时出错:\n");
    ex.printStackTrace();
    }
    return options;
    }

    public static void main(String[] args){
    AjaxBean ax= new AjaxBean();
    ax.getTeam();
    System.out.println("@@@@@@@@@@@@@@@@@");
    }}
    代码换成注入后  再运行main方法  得到如下提示:2009-03-25 20:17:22 [日志信息] 在执行AjaxBean类中的getTeam方法时出错:@@@@@@@@@@@@@@@@@
    java.lang.NullPointerException
    at org.steelam.base.AjaxBean.getTeam(AjaxBean.java:36)
    at org.steelam.base.AjaxBean.main(AjaxBean.java:63)也就是说getTeam方法没执行。可是getTeam方法本身是没有问题的,那么,也就是说没有调用getTeam方法。是为什么呢,是不是需要在配置文件中配置和EmployeeService的依赖关系啊?