jsp <input type="checkbox">标记的空指针异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp <input type="checkbox">标记的空指针异常相关的知识,希望对你有一定的参考价值。

今天看到书上的一段代码是这样的:

这是<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">标记的空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面中<input type="text">设定value的取值范围,文本框的取值范围是5000到1000000。

js获取table的td中的<input type="checkbox" >中的checkbox

jsp如何用My97日期控件

如何在JSP对checkbox的value赋值

JavaScript中获取radio的值

jsp获取radio的值