Клиентский код довольно прост:

<form action="DDServlet" method="post">
       <input type="text" name="customerText">
       <select id="customer">
             <option name="customerOption" value="3"> Tom </option>
             <option name="customerOption" value="2"> Harry </option>
       </select>
       <input type="submit" value="send">
</form>

Вот код на Servlet

Enumeration paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()){
      String paramName = (String)paramNames.nextElement();  //get the next element
      System.out.println(paramName);
}

Когда я распечатываю, я вижу только customerText, но не customerOption. Есть идеи, почему, ребята? Я надеюсь, что если я выберу Tom в своем варианте, после отправки на моем сервлете я смогу сделать это: String paramValues[] = request.getParameterValues(paramName); и получить обратно значение 3

0
Thang Pham 31 Мар 2010 в 05:54

2 ответа

Лучший ответ

Вам нужно указать атрибут name для выбора. Это должно исправить это:

<select name="customerOption" id="customer">
    <option value="3"> Tom </option>
    <option value="2"> Harry </option>
</select>
2
Bialecki 31 Мар 2010 в 06:07
+1, именем параметра будет customerOption, а не customer. Обычно я оставляю поля идентификатора и имени одинаковыми, но это не имеет особого значения.
 – 
D.C.
31 Мар 2010 в 06:11

Код, который вы показываете, получился у вас как getParameterNames. Это просто пример или это ошибка?

0
BenMorel 14 Июн 2014 в 14:18