java - 通过 servlet/jsp 从 mysql 数据库中删除数据

标签 java mysql jsp servlets

我有一个调用 MySQL 数据库的 servlet。

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。但我只想马上删除它。 谁能帮忙?

最佳答案

在 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");
}

不需要第二个操作'deletepage',所以不需要delete.jsp

关于java - 通过 servlet/jsp 从 mysql 数据库中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728294/

相关文章:

javascript - Node.js 为相关查询提供空数组

java - 在 Java JSP 页面中找不到有关属性的任何信息

java - 在 JSP 中屏蔽 url

java - 如何用jsp显示不同的内容:include and jsp:param

java - 从 java.util.Date 转换为 javax.xml.datatype.XMLGregorianCalendar 时日期发生变化

mysql - 对子表的一列求和

java - 在 Python 中构建阻塞的零长度队列的好方法

php - 我的网址不能正确处理空格

java - 使用带有凭据的 $HTTP 在 angularJs 中发布时解决 CORS

java - 将多个图像写入 byteArrayOutputstream