如小弟才疏学浅,
jsp调用的时候出什么错?给出来看看form里面的checkbox
可以用数组、List或Map都行,没什么两样

解决方案 »

  1.   

    第一个问题已解决
    原因是Arrays.asList()生成的List是fixed的
    所以添加的时候,会报错unsupposedListException(自己查文档)
    那么问一个问题
    怎么才能得到List的一个实例
    因为List没有public的构造函数
    楼上说的是什么意思
    我的问题是我用request.getParameter("name")来读参数的时候
    不管我的申请form里面有多少叫“name”的checkbox
    只会返回第一个checkbox的值
    这跟List等等有什么关系?请解释
      

  2.   

    parameter里面一个key只能对应一个value吧,你有几个的话,不是写不进去就是覆盖吧
      

  3.   

    request.getParameterValues("name")
    得到的是一个String[]
      

  4.   

    是吗?
    先试一下
    还有,我要生成一个空的List对象,该怎么做
      

  5.   

    不行,再问
    把测试的东西先贴出来(tomcat5.5.7)
    ------------------------------------------------bb.htm:<form name="form1" method="post" action="aa.jsp">
      <input type="checkbox" name="checkbox" value="checkbox1">
      <input type="checkbox" name="checkbox" value="checkbox2">
      <input type="checkbox" name="checkbox" value="checkbox3">
      <input type="checkbox" name="checkbox" value="checkbox4">
      <input type="checkbox" name="checkbox" value="checkbox5">
      <input type="checkbox" name="checkbox" value="checkbox6">
      <input type="radio" name="radiobutton" value="radiobutton1">
      <input type="radio" name="radiobutton" value="radiobutton2">
      <input type="radio" name="radiobutton" value="radiobutton3">
      <input type="radio" name="radiobutton" value="radiobutton4">
      <input type="radio" name="radiobutton" value="radiobutton5">
      <input type="radio" name="radiobutton" value="radiobutton6">
      <select name="select" size="3" multiple>
        <option value="cc1">cc1</option>
        <option value="cc2">cc2</option>
        <option value="cc3">cc3</option>
      </select>
      <input type="submit" name="Submit" value="提交">
    </form>----------------------------------------aa.jsp<%@ page contentType="text/html; charset=gbk" language="java" import="java.util.*,java.io.*" errorPage="" %>
    <%
    Enumeration aa = request.getParameterNames();
    while (aa.hasMoreElements()) {
      String key=(String)aa.nextElement();
      out.println(key+"="+request.getParameterValues(key));
    }
    %>---------------------------------------------测试六个复选框全勾了
    列表的三项全选---------------------------------------------结果checkbox=[Ljava.lang.String;@d90453 select=[Ljava.lang.String;@1ab11b0 Submit=[Ljava.lang.String;@165b7e---------------------------------------------结论Saro(石头)说的不对
      

  6.   

    checkbox=[Ljava.lang.String;@d904530
    select=[Ljava.lang.String;@1ab11b0
    注意到这个没:"[Ljava.lang.String;",这就表明这是一个String[]对象。
    你打印 request.getParameterValues(key)时,调用了数组对象的toString()方法。
      

  7.   

    照你说的,checkbox应该解析得到一个String数组吧
    那为什么我的程序报错org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 2 in the jsp file: /aa.jsp
    Generated servlet error:
    Cannot cast from String to String[]本人的jsp文件是这样写的:<%@ page contentType="text/html; charset=gbk" language="java" import="java.util.*,java.io.*" errorPage="" %>
    <%
    Enumeration aa = request.getParameterNames();
    while (aa.hasMoreElements()) {
      String key=(String)aa.nextElement();
      if (key.equals("checkbox")) {
         String[] bb = (String [])request.getParameter(key);
         for (int i=0;i<bb.length;i++)
           out.println(key+"="+bb[i]);
      }
      else out.println(key+"="+request.getParameter(key));
    }
    %>石头帮忙排排错,我完全不明白
    另外,我怎么区分某个参数传过来的是String数组还是单个的String
      

  8.   

    String[] bb = (String [])request.getParameter(key);这行是错的:
    应该是:String[] bb = (String [])request.getParameterValues(key);getParameter 和getParameterValues 是不同的东西。
      

  9.   

    getParameter 和getParameterValues 是不同的东西。
    ---
    getParameter 得到的是String对象,如果传递多个同名参数的话,得到的是第一个的值。
    getParameterValues 得到的是String[]对象,不管你传递一个或多个同名参数。判断之传了一个值:
    String[] values=request.getParameterValues();
    return values!=null && values.length==1;
      

  10.   

    getParameter 和getParameterValues 是不同的东西
    那么两者除了返回值不同以外
    还有没有区别,因为找不到文档,只有问了
      

  11.   

    <input type="checkbox" name="checkbox" value="checkbox1">
      <input type="checkbox" name="checkbox" value="checkbox2">
      <input type="checkbox" name="checkbox" value="checkbox3">
      <input type="checkbox" name="checkbox" value="checkbox4">
      <input type="checkbox" name="checkbox" value="checkbox5">
      <input type="checkbox" name="checkbox" value="checkbox6">
      <input type="radio" name="radiobutton" value="radiobutton1">
      <input type="radio" name="radiobutton" value="radiobutton2">
      <input type="radio" name="radiobutton" value="radiobutton3">
      <input type="radio" name="radiobutton" value="radiobutton4">
      <input type="radio" name="radiobutton" value="radiobutton5">
      <input type="radio" name="radiobutton" value="radiobutton6">
    ======>  <input type="checkbox" name="checkbox[0]" value="checkbox1">
      <input type="checkbox" name="checkbox[1]" value="checkbox2">
      <input type="checkbox" name="checkbox[2]" value="checkbox3">
      <input type="checkbox" name="checkbox[3]" value="checkbox4">
      <input type="checkbox" name="checkbox[4]" value="checkbox5">
      <input type="checkbox" name="checkbox[5]" value="checkbox6">
      <input type="radio" name="radiobutton[0]" value="radiobutton1">
      <input type="radio" name="radiobutton[1]" value="radiobutton2">
      <input type="radio" name="radiobutton[2]" value="radiobutton3">
      <input type="radio" name="radiobutton[3]" value="radiobutton4">
      <input type="radio" name="radiobutton[4]" value="radiobutton5">
      <input type="radio" name="radiobutton[5]" value="radiobutton6">作为数组再试看