2013-07-16 37 views
0

HTML代碼我遇到NumberFormatException異常:空而mt.jsp使用JSP

<input type="text" id="amt" name="amt" value="0"/> 
<input type="submit" value="Transfer Money" onsubmit="mt.jsp"/> 

JSP腳本:發生

line 71: String money="0"; 
line 72: int amt1=0; 
line 73: money=request.getParameter("amt"); 
line 74: amt1=Integer.parseInt(money); 

例外處理JSP頁面/mt.jsp在線路74

根本原因 java.lang.NumberFormatException:null

我想知道爲什麼我遇到這個異常,同時將字符串轉換爲整數...

HTML代碼login.jsp中login.jsp中

<form onsubmit="login.jsp"> 
     <label>Username</label> 
     <input type="text" id="uname" name="uname" value=""/></br> 
     <label>Password</label> 
     <input type="password" id="pwd" name="pwd" value=""/></br> 
     <input type="submit" value="Login"/></br> 
</form> 

小腳本:

if(resultset.next()) 
        response.sendRedirect("mt.jsp"); 
       session.setAttribute("userID", uname); 
+0

你無需提交表單打開mt.jsp?我的意思是你怎麼打開它? – fmodos

+0

我在login.jsp後打開了mt.jsp,但在mt.jsp中我使用了onsubmit方法... – user1943533

+0

onsubmit方法是錯誤的,這個函數應該是在表單標記中......它也只支持javascript代碼 – fmodos

回答

0

這個錯誤是因爲你不預計amt parameter將爲null,您可能會在不傳遞此參數的情況下打開url。

所以解決的辦法是檢查參數null之前分析它的代碼示例:

money=request.getParameter("amt"); 
if(money!=null){ 
    amt1=Integer.parseInt(money); 
} 
+0

我試過了已經檢查過,但它只是避免了錯誤,但是這個值總是顯示爲NULL,即使我輸入了一個值爲「amt」的文本框 – user1943533

+0

ok,請編輯問題併發布登錄表單html代碼 – fmodos

+0

ý登錄.jsp看起來不錯,但是在代碼中'response.sendRedirect(「mt.jsp」)'你不傳遞任何會導致它爲空的amt參數......就是說,如果你做了'response.sendRedirect(「mt.jsp ?amt = 5「)'它會返回5 – fmodos

相關問題