1

MySQLデータベースを呼び出すサーブレットがあります。

メソッドは次のdeletePageようになります。

public void  deletePage(PageData delete) {
    String firstQuery ="Delete FROM pages Where ID= '"+delete.getId()+"';";

    try {
        statement = connection.createStatement();
        statement.executeUpdate(firstQuery);
        System.out.println("Expense is deleting");

    } catch (SQLException e) {
        System.out.println("Expense isn't deleting - SQLException");
        e.printStackTrace();
    }
}

これdelete.jspは次のとおりです。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Add pages</title>
    </head>
    <body>
        <form action="adminController">
            <p>
                <input type="hidden" name="operation" value="deletepage" />
                <input type="hidden" name="parentid" value="<%= request.getParameter("id") %>" />
                Enter ID of page you want to delete:<input name="id"><br>

                <input type="submit" />
            </p>
        </form>
    </body>
</html>

mainadmin.jsp:_

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
    </head>
    <body>
        <%= request.getAttribute("menu") %>
    </body>
</html>

このコードを実行すると、各ページ名の後に削除ボタンが表示されます。私がやりたいのは、ページの近くにある削除ボタンを押してこのページを削除することです。「削除してもよろしいですか?」、送信ボタン「削除」のようなものがあるはずです。しかし、私が何とかしたことは(私のコードのように)次のようになります:削除ボタンが押されるたびに、削除したいページのIDを入力する必要があるため、どの削除ボタンを押しても、IDが要求されます。でもすぐに削除したいだけです。誰か助けてもらえますか?

4

1 に答える 1

2

adminController.javaには

else if (operation.equals("delete")) {
    RequestDispatcher dispatcher = request.getRequestDispatcher("/delete.jsp");
    dispatcher.forward(request, response);

} else if (operation.equals("deletepage")) {
    PageData pageData = new PageData();
    pageData.setId(request.getParameter("id"));
    dao.deletePage(pageData);
    response.sendRedirect("adminController");
}

に変更します

else if (operation.equals("delete")) {
    PageData pageData = new PageData();
    pageData.setId(request.getParameter("id"));
    dao.deletePage(pageData);
    response.sendRedirect("adminController");
}

2番目の操作'deletepage'は必要ないため、delete.jspは必要ありません。

于 2012-05-23T21:54:38.017 に答える