如何将数据从jsp传递到servlet?

how to pass data form jps to servlet?

我正在 jsp 和 servlet 中开发简单的 CRUD 示例项目。但是我无法通过 URL < a href="servletName" value="<%= id.getid()" name=[=17= 将数据从 jsp 传递到 servlet ]>删除。在 servlet 页面中,我试图通过 int id = Integer.parseInt(request.getParameeter("id")) 获取该值。但我得到一个空值。 下面是我的 jsp 和 servlet 代码。

                         <tbody>
                            <%
                                for (books b:book){
                            %>
                            <tr>
                                <th scope="row"><%= b.getId() %></th>
                                <td><%= b.getBookName() %></td>
                                <td><%= b.getBookDesc() %></td>
                                <td><%= b.getAuthName() %></td>
                                 <td><%= b.getCat() %></td>
                                 <td><a href="editbook.jsp?id=<%= b.getId() %>">Edit</a><a href="DeleteBookServlet" name="deleteId" value="<%= b.getId() %>">Delete</a></td>
                                 <!--data-toggle="modal" data-target="#editBooks"-->
                            </tr>
                            <%
                                }
                            %>
                        </tbody>

Servlet 代码

        String id  = request.getParameter("deleteId");
        int bid = Integer.parseInt(id);

        try{

            BooksDao bkd = new BooksDao(ConnectionDao.getCon());
            bkd.deleteBook(bid);
            response.sendRedirect("index.jsp");
        }catch(Exception e){
            e.printStackTrace();
        }

您没有将 <a> 标记中的 value 传递给 servlet,这是它返回 null 的原因。而是像下面这样:

<a href="DeleteBookServlet?deleteId=<%=b.getId()%>" name="deleteId">Delete</a>

并使用

在 servlet 中获取它
int id = Integer.parseInt(request.getParameter("deleteId"));