美好的一天!
我正在尝试删除一条记录。但在我删除它之前,我将使用 JSP 显示一条确认消息,如下所示:(来自“选择 ID”Servlet 的 ID 和名称)
<form action = "Delete">
Id: ${student.id} <br>
<input type="submit" value="Delete">
</form>
而我的删除代码如下:
public class Delete extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String query = "Delete FROM customer WHERE id = ?";
try {
Context context = new InitialContext();
DataSource ds = (DataSource) context.lookup("jdbc/myDatasource");
Connection con = ds.getConnection();
PreparedStatement stmt = con.prepareStatement(query);
int id = Integer.parseInt(request.getParameter("id")); //ERROR HERE?
stmt.setInt(1, id);
stmt.executeUpdate(query);
} catch (Exception ex) {
out.println("Error.... " + ex);
}
}
但是我有一个空指针异常
。好像无法读取ID。 (但我不确定)。如何使用 EL 将数据从 JSP 传递到 Servlet?是什么导致了错误,我该如何解决?谢谢。
最佳答案
您需要将其作为相同表单的隐藏输入值传递给下一个请求。
<input type="hidden" name="id" value="${student.id}" />
关于java - JSP 数据到 Servlet 使用 EL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222920/