java.lang.NumberFormatException:null-无法读取输入类型
我试图在单击按钮时从SQL中删除一些数据。但是,我一直收到错误java.lang.NumberFormatException:单击按钮时为null。这让我感到困惑,因为我可以在jsp.file中显示ID,所以我知道该值已被选中并显示 这是我的jsp文件:java.lang.NumberFormatException:null-无法读取输入类型,java,sql,jsp,servlets,Java,Sql,Jsp,Servlets,我试图在单击按钮时从SQL中删除一些数据。但是,我一直收到错误java.lang.NumberFormatException:单击按钮时为null。这让我感到困惑,因为我可以在jsp.file中显示ID,所以我知道该值已被选中并显示 这是我的jsp文件: if (request.getParameter("delete") != null){ long betID = Long.parseLong(request.getParameter("id")); System.out.print(b
if (request.getParameter("delete") != null){
long betID = Long.parseLong(request.getParameter("id"));
System.out.print(betID);
}
<form action="newBet.jsp" method="get">
<fieldset>
<input class="btn btn-default" type="submit" name="w" value="Vundet"/>
<input class="btn btn-default" type="submit" name="L" value="Tabt" />
<input type="submit" name="id" value="<%=bet.getId()%>"/>
</fieldset>
</form>
在我的代码中,我的betID的值被设置为long。我希望你们中的一些人能帮助我。我检查过类似的问题,但不幸的是,我无法解决这些问题。谢谢。我添加答案只是为了让所有的评论保持一致 只有实际单击的submit的值将作为请求参数传递。 这就是为什么当您单击name=“delete”submit时,您会看到从jsp构建的html页面上的值,而不是请求中的值 我甚至建议您使用taglib(es.JSTL),而不是用JSP编写java代码 例如,假设您有一个名为“bet”的请求或页面参数包含bet bean
<form action="newBet.jsp" method="get">
<fieldset>
<input class="btn btn-default" type="submit" name="w" value="Vundet"/>
<input class="btn btn-default" type="submit" name="L" value="Tabt" />
<input type="submit" name="id" value="${bet.id}"/>
</fieldset>
</form>
还要获取JSTL的日志:
考虑到您是否有机会再次使用name=delete提交?(从您编写的代码中可以看出)。HTML将只发送您单击的提交值。其他将为空。(如果最好将id存储在隐藏或不可写的文本输入中)是的,我会。我也忘了在代码里写上。我的另一个名为delete的submit是:HTML只发送您单击的submit值。其他将为空。(以防最好将id存储在隐藏或不可写的文本输入中)非常感谢。我还是个新手,但这实际上解决了我的问题。非常感谢。
<form action="newBet.jsp" method="get">
<fieldset>
<input class="btn btn-default" type="submit" name="w" value="Vundet"/>
<input class="btn btn-default" type="submit" name="L" value="Tabt" />
<input type="submit" name="id" value="${bet.id}"/>
</fieldset>
</form>