标签:
今天看到书上的一段代码是这样的:
这是<input type="checkbox">标记的代码
<br>选择你喜欢的歌手: <input type="checkbox" name="singer" value="张">张歌手 <input type="checkbox" name="singer" value="李">李歌手 <input type="checkbox" name="singer" value="王">王歌手
后面是用数组实现的
String personName[]=request.getParameterValues("singer");//获取歌手的名字,用数组实现 if(personName==null) { out.println("一个都不喜欢"); } else { for(int i=0;i<=personName.length;i++) { out.println("<br>你喜欢的歌手"+personName[i]); } }
结果抛出了空指针异常,在数组那里,之前的选择框的内容是赋值给了personName[]数组,然后并不是每一个选择框都选了,这是一个多选框,可选可不选,没选的就没有给数组赋值,所以抛出了空指针异常。我是这样解决的:
if(personName==null) { out.println("一个都不喜欢"); } else { try{ //为什么加一个try catch 语句就没有报错 没有加系统报空指针异常 for(int i=0;i<=personName.length;i++) { out.println("<br>你喜欢的歌手"+personName[i]); } } catch(Exception e) { e.printStackTrace(); } } out.println("<br>这是你提交的隐藏信息"+secretmsg);
用try catch 语句捕捉异常,结果运行成功!这虽然是个很小的问题,但是我发现了一个问题,这些教材也并不是完全正确,真正的真理还是在实践中得出的。多动手,多实践,多思考......
jsp <input type="checkbox">标记的空指针异常
标签:
原文地址:http://www.cnblogs.com/hello-daocaoren/p/5324444.html