<form action="check.jsp" method="post">
<body>
<table>
<!-- 注册个人爱好信息 -->
<tr> 
<td align="right">
个人爱好:
</td>
<td align="left">
<!--复选框-->
<input type="checkbox" name="love" value=""/>电脑网络
<input type="checkbox" name="love" value=""/>影视娱乐
<input type="checkbox" name="love" value=""/>棋牌娱乐
<br>
<input type="checkbox" name="love" value=""/>读书读报
<input type="checkbox" name="love" value=""/>美酒佳肴
<input type="checkbox" name="love" value=""/>绘画书法
</td>
</tr>
</table>
</body>
</html>check.jsp
String loves[]=(String[])request.getParameterValues("love");
for(int i=0;i<loves.length;i++){
out.print(loves[i]);
}exception org.apache.jasper.JasperException: Exception in JSP: /check.jsp:21
20: String loves[]=(String[])request.getParameterValues("love");
21: for(int i=0;i<loves.length;i++){
22:  out.print(loves[i]);
23: }

解决方案 »

  1.   

    loves.length的数量未知,你可以预设大小为一定数值。
      

  2.   

    String loves[]=request.getParameterValues("love"); 
    楼主试试这个,request.getParameterValues本身就是返回数值,不必要强转
      

  3.   

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <html>
    <body>
    <form action="check.jsp" method="post">
    <table>
    <!-- 注册个人爱好信息 -->
    <tr>
    <td align="right">
    个人爱好:
    </td>
    <td align="left">
    <!--复选框-->
    <input type="checkbox" name="love" value="1" />
    电脑网络
    <input type="checkbox" name="love" value="2" />
    影视娱乐
    <input type="checkbox" name="love" value="3" />
    棋牌娱乐
    <br>
    <input type="checkbox" name="love" value="4" />
    读书读报
    <input type="checkbox" name="love" value="5" />
    美酒佳肴
    <input type="checkbox" name="love" value="6" />
    绘画书法
    </td>
    </tr>
    </table>
    <input type="submit" />
    </form>
    </body>
    </html><!-- check.jsp -->
    <%
    String loves[] = (String[]) request.getParameterValues("love");
    if (loves != null) {
    for (int i = 0; i < loves.length; i++) {
    out.print(loves[i]);
    }
    }
    %>
      

  4.   

    加了if(loves!=null)后
    是没有了bug ,但是out.print(loves[i]); 没有打印结果啊,
    这么回事,大本
      

  5.   

    request.getParameterValues("love");的返回值本来就是一个数组,你有必要转吗?
    你真的是脱了裤子放屁!
      

  6.   

    问题很简单,你的Value值都为空,取到的值当然为空了,在Value中加上相应的值即可,
    代码如下:<table>
    <!-- 注册个人爱好信息 -->
    <tr>
    <td align="right">
    个人爱好:
    </td>
    <td align="left">
    <!--复选框-->
    <input type="checkbox" name="love" value="电脑网络"/>电脑网络
    <input type="checkbox" name="love" value="影视娱乐"/>影视娱乐
    <input type="checkbox" name="love" value="棋牌娱乐"/>棋牌娱乐
    <br>
    <input type="checkbox" name="love" value="读书读报"/>读书读报
    <input type="checkbox" name="love" value="美酒佳肴"/>美酒佳肴
    <input type="checkbox" name="love" value="绘画书法"/>绘画书法
    </td>
    </tr>
    </table>