0

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>

送信後、サーブレットで値を 1 つだけ取得でき、その値は特定の名前を付けずに複数の入力値で構成されます。

私は試した

System.out.println(request.getParameterValues("submitForm"));

しかし、そのヌル

誰でも私を指摘できますか?ありがとう

4

2 に答える 2

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);
    }

お役に立てれば。

于 2012-10-21T02:37:18.603 に答える
0

submitFormはフォーム名であり、フィールド識別子ではありません。したがって、指定されたフィールドのパラメーター値を取得しようとすると、submitFormnull が返されます。

理想的には、テキスト フィールドの名前を から${product.productId}などの明確なものに変更してから"MyProducts"、それに対して呼び出しを行う必要があります。

于 2012-10-21T02:38:45.247 に答える