2013-10-28 51 views
1

在servlet中,我試圖讓提交按鈕的值在下面的表格使用JSP的Servlet的getParameter()給空

servlet代碼:

String addGifts = request.getParameter("addGifts"); 

此代碼給我屬性addGifts爲空值。 表格如下。 temp.get(0)的值是(長)對象。

JSP形式:

<% 
    int i = gifts.size(); 
    System.out.println("gifts.size() = " + i); 
    int j = 0; 
    while (j < i) { 
     ArrayList temp = new ArrayList(); 
     temp = gifts.get(j); 
     System.out.println("Gift Id: " + temp.get(0)); 
     out.println("<tr>"); 
     out.println("<td>" + temp.get(1) + "</td>"); 
     out.println("<td>" + temp.get(2) + "</td>"); 
     out.println("<td>" + temp.get(3) + "</td>"); 
     out.println("<td><form method=\"POST\" action=\"gift-add\">"); 
     out.println("<button type=\"submit\" name=\"addgift\" value=\"" + temp.get(0) + "\">Redemm</button>"); 
     out.println("</form></td>"); 
     out.println("</tr>"); 
     j++; 
    } 
    //System.out.println("<input class=\"text\" value=\"Enter Page\">"); 
%> 

任何想法,爲什麼屬性addGifts爲空?

回答

2

您有一個小的錯字。您在代號爲

name=\"addgift\" -----> addgift 

和你正在使用

request.getParameter("addGifts"); ---> addGifts 

看看首都G

所以,兩個字符串必須相同。它們區分大小寫。

+0

你的意思是'名字= \ 「addGifts \」',否則它仍然是'null'和別人不一樣'String's。 –

+0

哇。沒有注意到。非常感謝! – Darve

+0

@達沃。有時會發生。快樂編碼:) –

0

由於錯字,請嘗試替換以下servlet代碼。 「G」 應該是小的情況下

String addGifts = request.getParameter("addgifts"); 
0

變化addGiftsaddgift

務必檢查大寫; d

0

這是null因爲有與名"addGifts"<form>內部沒有組件發送到服務器。

順便說一句,這是一個想法使用按鈕作爲您的參數的持有人。至少使用一個隱藏字段

<input type="hidden" name="addGifts" value="..." /> 
<button type="submit" name="addgift" value="Redemn" /> 

而且,這是一個糟糕的想法在JSP中使用小腳本。儘量保持清潔的Java代碼。

更多信息: