【发布时间】:2016-11-06 05:39:29
【问题描述】:
我使用 MySQL 在我的 JSP 中生成了一个人员列表,问题是我应该如何删除他们。这是我的代码:
JSP:
<% ApplicantDAO applicantDAO = new ApplicantDAO();%>
<% for (int i = 0; i < applicantDAO.viewApplicant().size(); i++) {%>
<div class="column">
<div class="col-sm-3 col-xs-4">
<div class="list-group">
<a class="list-group-item active">
<img src = "th_1x1.jpg" class = "img-responsive" alt = "Responsive Image" width = "100%" height ="100">
<h4 class="list-group-item-heading" id="guardName<%=+i%>" id="guardName<%=+i%>"><%=applicantDAO.viewApplicant().get(i).getApplicantFirstName() + " "%>
<%=applicantDAO.viewApplicant().get(i).getApplicantLastName()%></h4>
</a>
<a class="list-group-item">
<p class="list-group-item-text" id="applyingFor<%=+i%>" id="applyingFor<%=+i%>"><%=applicantDAO.viewApplicant().get(i).getApplyingFor()%></p>
</a>
<a class="list-group-item" data-toggle="modal" href="#moreDetails<%=+i%>">
<button class="btn btn-primary btn-lg btn-block" id="moreDetails">More Details</button>
</a>
<a class="list-group-item">
<form action="deleteApplicant" action="post">
<button type="button" class="btn btn-default delete" aria-label="Left Align" id="accept<%=applicantDAO.viewApplicant().get(i).getApplicantID()%>">
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
</button>
</form>
<form>
<button type="button" class="btn btn-default delete" aria-label="Left Align" id="reject<%=applicantDAO.viewApplicant().get(i).getApplicantID()%>">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
</button>
</form>
</a>
<div class="modal fade" id="moreDetails<%=+i%>">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-title">Applicant Information</h3>
</div>
<div class="modal-body">
<h2 class="text-center"><%=applicantDAO.viewApplicant().get(i).getApplicantLastName() + ", "%><%=applicantDAO.viewApplicant().get(i).getApplicantFirstName()%></h2>
<h4 class="text-center" id="id"><%=applicantDAO.viewApplicant().get(i).getApplicantID()%></h4>
以下代码使用我制作的 for 循环生成人员。但是,我的问题是获取要删除的内容的 ID。这是我的 servlet 代码:
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
try {
Applicant deletedApplicant = new Applicant();
String value = request.getParameter("ID");
int id = Integer.parseInt(value);
ApplicantDAO applicantDAO = new ApplicantDAO();
boolean successful = applicantDAO.rejectApplicant(deletedApplicant.getApplicantID());
if (successful){
ServletContext context= getServletContext();
RequestDispatcher rd= context.getRequestDispatcher("/HiringPage.jsp");
HttpSession session = request.getSession();
session.setAttribute("deletedApplicant", deletedApplicant);
rd.forward(request, response);
System.out.println("successful");
}else{
ServletContext context= getServletContext();
RequestDispatcher rd= context.getRequestDispatcher("/Dashboard.jsp");
rd.forward(request, response);
}
} finally {
out.close();
}
}
最后,这是我的控制器代码:
public boolean rejectApplicant(int applicantID) {
try {
DBConnectionFactory myFactory = DBConnectionFactory.getInstance();
Connection conn = myFactory.getConnection();
String query = "delete from applicant where applicantID = ?";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setInt(1, applicantID);
int rows = pstmt.executeUpdate();
conn.close();
pstmt.close();
return true;
} catch (SQLException ex) {
Logger.getLogger(ApplicantDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
你能指导我怎么做吗?太感谢了!
【问题讨论】:
-
错误信息是什么?
-
没什么。它根本没有显示任何错误
-
String query = "从申请者中删除,其中申请者ID = ?"; setInt 在哪里?
-
请检查修改后的代码
标签: java mysql jsp servlets dao