как передать данные из jps сервлету? - PullRequest
0 голосов
/ 01 марта 2020

Я работаю над простым примером CRUD проекта в jsp и сервлетом. Но я не могу передать данные из jsp в сервлет через URL Удалить . и на странице сервлета я пытаюсь получить это значение через int id = Integer.parseInt (request.getParameeter ("id")). Но я получаю нулевое значение. ниже мой jsp и код сервлета.

                         <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>

Код сервлета

        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();
        }

1 Ответ

1 голос
/ 01 марта 2020

Вы не передали свой value в своем теге <a> сервлету, который является причиной его возврата null. Вместо этого сделайте, как показано ниже:

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

и получите его в сервлете, используя

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