Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing multiple request parameters with same name from table rows

I have a table with checkboxes that the user can check and delete that row in the table. I have everything working, but if the user checks two boxes, it only retrieves the first one on the table.

<tr>
  <td><input type="checkbox" name="id" value="${user.id}" /></td>
  <td><c:out value="${user.name}" /></td>
  <td><c:out value="${user.email}" /></td>
</tr>

This is just an example of my HTML. Here is part of my servlet.

String id = request.getParameter("id");

So, again, I can get the first value selected, but I am not able to delete multiple rows on the same table. Is there a function I can use or anything similar? Thanks!

like image 963
Dan Avatar asked May 10 '11 16:05

Dan


1 Answers

The getParameter() indeed returns only the first one when there are multiple values on the same name. You need to use getParameterValues() instead to get all of those values.

String[] ids = request.getParameterValues("id");
// ...

See also:

  • Send an Array with an HTTP Get
  • ServletRequest.getParameterMap() returns Map<String, String[]> and ServletRequest.getParameter() returns String?
like image 150
BalusC Avatar answered Oct 21 '22 21:10

BalusC