Идеальный способ сделать это - переместить всю логику в сервлет. Этот метод, который я упоминаю ниже, не рекомендуется по многим причинам, которым вы научитесь по мере накопления опыта. Однако сейчас давайте предположим, что вы собираетесь использовать только JSP. Есть много способов сделать это, но это один из способов.
Этот метод использует два JSPS, первый JSP для отображения записей. Второй JSP - это обрабатывающий JSP, который сделает за вас удаление.
Подробнее в деталях ниже.
Первый JSP будет отображать записи.
Второй JSP вызывается, когда вы нажимаете «удалить».
Второй JSP удалит запись и затем перенаправит обратно на первый JSP. Это очень неэффективный способ сделать это и не рекомендуется. Но это быстро и грязно и сэкономит ваше время от создания сервлетов, файлов Java и т. Д.
JSP1.jsp
будет иметь тот же код, что и вы. получить первичный ключ записи. Это будет использоваться для идентификации записи, которую необходимо удалить.
Этот идентификатор будет передан в качестве параметра во второй JSP.
<%
rs = stmt.executeQuery("select primary_key_id, title from Postdata");
%>
<table id="rounded-corner" summary="all posts">
<tbody>
<% while (rs.next()) {
String primaryKey = rs.getString(1);
%>
<tr>
<td>
<%=rs.getString(2)%>
</td>
<td>
<a href ="JSP2.jsp?deleteid=<%=primaryKey%>">Delete</a>
</td>
</tr>
<%}%>
</tbody>
</table>
JSP2.jsp
получить параметр из запроса. Затем выполните запрос Delete для этого идентификатора.
Затем перенаправьте обратно на JSP1.
<%
String recordToDelete = request.getParameter("deleteid");
// Use PreparedStatements here instead of Statment
rs = stmt.executeQuery("delete from Postdata where primary_key_id="+ recordToDelete );
response.sendRedirect("JSP1.jsp"); // redirect to JSP one, which will again reload.
%>
Этот метод не рекомендуется, но вы понимаете, что нужно сделать.