Dzień Dobry
W ramach nauki pracuje nad koncepcja zarządzania użytkownikami. Kod pobiera dane z bazy i dynamicznie generuje tabele, która wyświetla informacje dotyczące usera. Moim celem jest dodanie funkcjonalności usuwania wybranych użytkowników (rzędów tabeli) za pomocą checkboxa w którym ukryte jest ID użytkownika. Niestety wygenerowana tabela przypisuje wartość checkboxa tylko dla pierwszego rzędu, reszta zwraca wartość ID = null.
Przykładowy output dla zaznaczonego pierwszego i drugiego rzędu wygląda następująco:
"Selected user id = 1
null"
Jakim sposobem mogę wysłać do servleta zaznaczone wartości z tabeli? Proszę o pomoc.
JSP:
<div class ="removeBtn"> <!-- remove button for multiple delete -->
<input type="submit" value="Remove selected" form="multipleDeleteRowsId">
</div>
<table class="employeeInfoTable" >
<tr>
<th></th>
<th>First Name</th>
<th>Second Name</th>
<th>Last Name</th>
<th>Date of Join</th>
<th>Branch</th>
<th>Action</th>
</tr>
<c:forEach var="tempUser" items="${employeesList}">
<c:url var="idLink" value="EmployeeControllerServlet">
<c:param name="command" value="LOAD"/>
<c:param name="employeeID" value="${tempUser.id}"/>
</c:url>
<c:url var="removeLink" value="EmployeeControllerServlet">
<c:param name="command" value="DELETE"/>
<c:param name="deleteByID" value="${tempUser.id}"/>
</c:url>
<tr>
<td>
<form action="EmployeeControllerServlet" method="get" id="multipleDeleteRowsId" > <!-- here is multiple delete -->
<input type="hidden" name="command" value="DELETE">
<input type="checkbox" name="selectedRow" value="${tempUser.id}">${tempUser.id}
</form>
</td>
<td>${tempUser.firstName}
</td>
<td>${tempUser.surname}
</td>
<td>${tempUser.lastName}
</td>
<td>${tempUser.dateOfJoin}
</td>
<td>${tempUser.branch}
</td>
<td>
<ul id="menu">
<li><a href="#">Edit</a>
<ul>
<li><a href="#"><a href="${idLink}">More Info</a></a></li>
<li><a href="#"><a href="${removeLink}"
onclick="return confirm( 'Are you sure you want to delete?')">Remove</a></a>
</li>
</ul>
</li>
</ul>
</td>
</tr>
</c:forEach>
</table>
SERVLET:
private void deleteUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
try {
String[] selected = request.getParameterValues("selectedRow");
for(int i = 0; i<selected.length; i++){
System.out.println("Selected user id = " + selected[i]);
}
} catch (Exception e) {
System.out.println("not deleted ? " + e.getCause());
}
}
Z góry dziękuję za pomoc
Pozdrawiam