簡體   English   中英

JSP Servlet getParameter()給出null

[英]JSP Servlet getParameter() giving null

在servlet中,我嘗試使用以下形式獲取提交按鈕的值:

Servlet代碼:

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

這段代碼為我提供了addGifts屬性為null。 表格如下。 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為null?

你有一個小錯字。 您在代碼中的名字是

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

而你正在使用

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

看大寫G

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

由於輸入錯誤,請嘗試替換servlet中的以下代碼。 “ G”應小寫

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

更改addGiftsaddgift

始終檢查大寫; D

它為null因為<form>沒有名稱為"addGifts"組件可發送到服務器。

順便說一句,將按鈕用作參數的持有人是個主意。 至少使用隱藏字段

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

同樣,在JSP中使用scriptlet是一個主意。 嘗試使其保持干凈的Java代碼。

更多信息:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM