1

在 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 为空?

4

4 回答 4

2

你有一个小错字。你在代码中的名字是

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

你正在使用

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

看看首都G

因此,两个字符串必须相同。它们区分大小写。

于 2013-10-28T14:36:13.823 回答
0

由于拼写错误,请尝试在 servlet 中替换以下代码。“G”应该是小写

String addGifts = request.getParameter("addgifts");
于 2013-10-28T14:37:03.387 回答
0

更改addGiftsaddgift

总是检查大写;D

于 2013-10-28T14:37:26.103 回答
0

这是因为内部null没有带有名称的组件要发送到服务器。"addGifts"<form>

顺便说一句,将按钮用作参数的持有者是个坏主意。至少使用隐藏字段

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

此外,在 JSP 中使用 scriptlet也是一个坏主意。尽量保持 Java 代码的清洁。

更多信息:

于 2013-10-28T14:38:42.690 回答