如何以asp形式提交多个值

时间:2012-10-21 02:32:51

标签: jsp servlets

在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"));

但是它的空

有人能指出我吗?感谢

2 个答案:

答案 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",然后对其进行调用。