-1

当我想“登录”时,我总是得到

org.apache.jasper.JasperException:java.lang.NullPointerException 错误

我知道当您想要访问尚未初始化的引用类型时会发生这种情况,但我无法在脑海中掌握它。

  Uksekaart kaart = null;
boolean allowed = false;
java.util.Date dt = new java.util.Date();
out.println(dt);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(request.getParameter("kaardi_id")!=null && request.getParameter("ukse_nr")!=null){
    kaart = kh.kysiUksekaart(Integer.parseInt(request.getParameter("kaardi_id")));
    String[] ukseList = kaart.getUksed().split(" ");
    for(int i=0; i<ukseList.length;i++){
        if(Integer.parseInt(ukseList[i]) == Integer.parseInt(request.getParameter("ukse_nr"))){
            allowed = true;
        }
    }
    for(veeb.AjutineLuba k:kh.kysiAjutisedLoad()){
        if(k.getKaardi_ID() == Integer.parseInt(request.getParameter("kaardi_id")) && k.getUkse_nr() == Integer.parseInt(request.getParameter("ukse_nr"))){
            if(dt.getTime() > df.parse(k.getAlgus()).getTime() && dt.getTime() < df.parse(k.getLopp()).getTime()){
                allowed = true;
            }
        }
    }
}

Netbeans 显示第 72 行

String[] ukseList = kaart.getUksed().split("");

4

2 回答 2

0

你得到 NULL :

kaart = kh.kysiUksekaart(Integer.parseInt(request.getParameter("kaardi_id")));

此行 kaart = null 的结果,当程序尝试执行 kaart.getUksed() 时,它找不到等于 NULL 的对象的 getUksed() 方法。

我不知道所有APP的架构,但试试这个:

String[] ukseList = new Array();
if (kaart != null) {
    ukseList = kaart.getUksed().split(" ");
}

否则你需要弄清楚为什么 kh.kysiUksekaart(Integer.parseInt(request.getParameter("kaardi_id"))) 给出空值。

于 2013-06-18T13:09:33.137 回答
0

检查 kaart 是否不为空,否则您的 getUksed() 方法有问题。

于 2013-06-18T13:02:22.103 回答