在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?
答案 0 :(得分:2)
你有一个小错字。您的代码名称是
name=\"addgift\" -----> addgift
你正在使用
request.getParameter("addGifts"); ---> addGifts
查看首都G
。
因此,两个字符串必须相同。它们区分大小写。
答案 1 :(得分:0)
由于拼写错误,请尝试在servlet中替换以下代码。 “G”应该是小例子
String addGifts = request.getParameter("addgifts");
答案 2 :(得分:0)
将addGifts
更改为addgift
。
始终检查大写字母; D
答案 3 :(得分:0)
它是null
,因为"addGifts"
中没有名称为<form>
的组件要发送到服务器。
顺便说一句,将按钮用作参数的持有者是一个糟糕的想法。至少使用隐藏字段
<input type="hidden" name="addGifts" value="..." />
<button type="submit" name="addgift" value="Redemn" />
此外,在JSP中使用scriptlet是一个糟糕的想法。尽量保持Java代码的清洁。
更多信息: