我在html中有一个复选框,如下所示:
<input type="checkbox" name="subscribe" value="subscribe">Subscribe For Answers</input>
在我的servlet中,我通过做这样的事情来获得它的价值:
String checked=new String();
checked=request.getParameter("subscribe");
if(!checked.isEmpty()){
if(checked.compareTo("subscribe")==0)
{
ps.setInt(4, 1);
}
}
else {
ps.setInt(4,0);
}
但是如果没有选中复选框,那么它会给出空指针异常。请帮助纠正它。
答案 0 :(得分:1)
如果未选中该复选框,则该请求不会包含任何subscribe
参数,因此checked
将为null
。你想要这样的东西:
String checked = request.getParameter("subscribe");
if (checked != null && !checked.isEmpty()) {
...
} else {
...
}
顺便说一句,如果参数值是提供但是不是“订阅”,你真的不想打ps.setInt(4, ...)
吗?目前,您有三种选择:
(还不清楚你为什么使用String.compare
而不是String.equals
...)