Получить значение из флажка

У меня есть код JSP, как это

<c:forEach items="${requestScope.XX}" var="x">
   <tr>
    <td><input type="checkbox" value="${x.xID}" name="x"></td>
    <td>&nbsp;${x.name}</td>
   </tr>    
</c:forEach>

Я не могу получить значение флажка в сервлетах. Мой код сервлета здесь:

String  xId=request.getParameter("x");

Могу ли я узнать, где я ошибаюсь? Требование состоит в том, чтобы был отмечен только один флажок. Так что нет необходимости в массиве в сервлетах


person freepublicview    schedule 04.01.2012    source источник
comment
Если у вас есть требование, чтобы пользователь устанавливал только один флажок, значит, вы используете неправильный элемент пользовательского интерфейса. Вам нужно использовать радиокнопки. Флажки предназначены для (отмены) выбора элементов независимо друг от друга; радиокнопки предназначены для выбора одного варианта из многих.   -  person Teemu Leisti    schedule 24.02.2012


Ответы (2)


показывает ли он более одного флажка с именем x? как в c:forEach если так то

String xId=request.getParameter("x"); 

каждый раз будет принимать значение первого флажка.

person Hemant Metalia    schedule 04.01.2012
comment
Да, есть много флажков, так как они находятся в цикле for. Но он не принимает даже значение первого флажка - person freepublicview; 04.01.2012
comment
поэтому попробуйте добавить какой-нибудь индекс к имени, чтобы во время поиска вы могли добиться уникальности - person Hemant Metalia; 04.01.2012

Вместо этого используйте HttpServletRequest#getParameterValues().

String[] checked = request.getParameterValues("x");
// ...
person BalusC    schedule 04.01.2012