在PHP中,当我单击提交时,服务器将通过$ _POST
获取所有提交值那么我怎么能像asp那样做呢
<form name="submitForm" method="post" action="cart?action=update">
<c:forEach var="product" items="${products}">
<input type="text" name="${product.productID}" value="${product.quantity}" />
</c:forEach>
<input type="submit" value="Update" />
</form>
我想在提交之后,我只能在servlet中获得一个值,并且该值包含多个输入值而不给它一个特定的名称。
我试过
System.out.println(request.getParameterValues("submitForm"));
但是它的空
有人能指出我吗?感谢
答案 0 :(得分:1)
我相信,${product.productID}
在每条记录中都有不同的价值。使用此处的值来获取服务器端的值。例如如果${product.productID}
导致productId1, productId2, prductId3....
,则将值退出为:
request.getParameter("productId1");
request.getParameter("productId2");
request.getParameter("productId3");
......
如果您不确定要检索的名称,可以使用request.getParameterNames()
获取所有参数名称。例如下面:
Enumeration<String> parEnumeration = request.getParameterNames();
while (parEnumeration.hasMoreElements()) {
String parameterName = parEnumeration.nextElement();
String parameterValue = request.getParameter(parameterName);
System.out.println("Parameter Name= " + parameterName);
System.out.println("Parameter Value= " + parameterValue);
}
希望这有帮助。
答案 1 :(得分:0)
submitForm
是表单名称,而不是字段标识符。因此,尝试获取名为submitForm
的字段的参数值将返回null。
理想情况下,您应该将文本字段的名称从${product.productId}
更改为明确的内容,例如"MyProducts"
,然后对其进行调用。