【发布时间】:2023-03-31 10:20:01
【问题描述】:
我创建了一个索引页面,您可以在其中获取复选框的值并将其传递给名为 AddToWork.java 的文件,但它显示空指针异常。传递复选框的值存在一些问题。请帮忙。这是为索引页截取的代码
<td>
<center>
<form action="addtowork?id2=<%=mail.getTempToken()%>" method="post">
<input type="submit" value="Add to my work">
<input type="checkbox" name="flag" value="flag">High Priority</form>
</center></td>
对于 AddToWork.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
EmailDesc mail = new EmailDesc();
String imp = new String();
imp = (String) request.getParameter("flag");
String thisid = request.getParameter("id2");
Home home = new Home();
User user = new User();
user = (User) request.getSession().getAttribute("user");
mail = home.getEmail(thisid, user);
home.givePermanentToken(mail,thisid);
if (imp.equals("flag")){
System.out.println("Priority Changed to " + mail.getPriority() + "!");
}
response.sendRedirect("index1.jsp");
}
如果我删除 addtowork.java 中的 if 语句,代码运行完美。
【问题讨论】:
-
request.getParameter("flag")以某种方式变为 null,然后执行 ` if (imp.equals("flag"))` 实际上导致NullPointerException