2013-06-18 90 views
-1

因爲我想 「登錄」 我總是得到顯示java.lang.NullPointerException錯誤的登錄

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

字符串[] ukseList = kaart.getUksed()分割(」「)。

+2

在哪一行你會得到異常?你嘗試過調試嗎? – Uooo

+0

嘗試打印堆棧跟蹤 –

+0

對不起,我對此很新穎。我做了調試部分,但不知何故,我看不到它向我顯示的行或錯誤,它可能是Netbeans,使我困惑:/ – Sven

回答

0

檢查kaart是否爲空否則你的getUksed()方法有問題。

+0

謝謝,確實它是空的,但不知何故,我目前的數據庫不會讓我改變它。改成一個新的,並得到它的工作。 – Sven

0

你在排隊得到NULL:這條線該地圖的

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

結果= null,而當程序試圖做kaart.getUksed()無法找到getUksed()爲對象的方法,它等於NULL 。

我不知道所有APP的架構,但試試這個:

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

否則需要想通了,爲什麼kh.kysiUksekaart(的Integer.parseInt(用request.getParameter( 「kaardi_id」)))給出了空。

相關問題