先用String[] test1=request.getParameterValues("prms1")
.....................
    String[] testn=request.getParameterValues("prmsn")然后再合并到vector中(add)

解决方案 »

  1.   

    回复: zxhong(红透半边天) 
    名称都是String.valueof("prms").cancat(String.value(i))得到的
    我想在提交之前先把它作成vector,该怎么处理
    是不是的用隐藏标志呢然后用javascript呢?
    一般你是怎么处理的呢?
      

  2.   

    <input type=checkbox value="aa">
    <input type=button onclick=aa()>
    <script>
    function aa()
    {
    var s1 = document.getElementsByTagName("input");
    var s2 = "";
    for(var i = 0 ;i<s1.length;i++)
    if(s1[i].type == "checkbox")
    if(s1[i].checked)
    s2  += s1[i].value;
    alert(s2); 
    }
    </script>
      

  3.   

    可以在加的同时加个";"然后用split函数取得每一个值
    可以直接将s2作为参数传到下一页再处理
      

  4.   

    <input type=checkbox value="aa">
    <input type=button onclick=aa()>
    <script>
    function aa()
    {
    var s1 = document.getElementsByTagName("input");
    Vector temp_vector;
             String[] temp;
    for(var j = 0 ;j<s1.lengh;j++)//?如何得到name为prmsj的个数呢
             {
              for(var i = 0 ;i<s1.length;i++)
                if(s1[i].type == "checkbox"!s1[i].name=="prms"+(String)j)
       if(s1[i].checked)          
                         temp[i]=s1[i].value
              temp_vector.add(temp);
              }   
    }
    </script>
    这样写有问题吗?
      

  5.   

    to:icecloud(冰云) 
    怎么用这个属性?
    你可以写出示例来让大家研究呀!~
      

  6.   

    看看这个效果
    1,checkbox.jsp:
    <input type=checkbox value="cc" name="test12">
    <input type="submit" onclick='aa()'>
    </form>
    <script>
    function aa()
    {
    var s1 = document.getElementsByTagName("input");
    var s2 = "";
    for(var i = 0 ;i<s1.length;i++)
    if(s1[i].type == "checkbox")
    {
    if(s1[i].checked)
    {
    s2 = s2+s1[i].value+";";
    }
    }

    document.form1.action="checkboxc.jsp?testc="+s2;

    }</script></body>
    </html>
    2.checkboxc.jsp:
    <html>
    <body>
    <%
    java.util.Vector test=new java.util.Vector();
    String testc=request.getParameter("testc");//out.println(testc+"<br>");
    for(int i=0;i<testc.length();i++)
    {if(testc.charAt(i)==';')
    {test.add(testc.substring(0,i));

    testc=testc.substring(i+1,testc.length());
    i=0;
    }}
    for(int j=0;j<test.size();j++)
    {
    out.println(test.get(j)+"<br>");

    }
    %>
    </body>
    </html>
      

  7.   

    checkbox.jsp:
    <html>
    <body>
    <form method="post" action="checkboxc.jsp" name="form1">
    <input type=checkbox value="aa" name="test">
    <input type=checkbox value="bb" name="test">
    <input type=checkbox value="cc" name="test12">
    <input type="submit" onclick='aa()'>
    </form>
    <script>
    function aa()
    {
    var s1 = document.getElementsByTagName("input");
    var s2 = "";
    for(var i = 0 ;i<s1.length;i++)
    if(s1[i].type == "checkbox")
    {
    if(s1[i].checked)
    {
    s2 = s2+s1[i].value+";";
    }
    }

    document.form1.action="checkboxc.jsp?testc="+s2;

    }</script></body>
    </html>
      

  8.   

    1 产生input的方法:
    从数据库读出,其name 和valu都是从数据库读取的
    so <input name="<%=rs.getString("name")%>" value=<%=rs.getString("value")%> type=text>
    用类似的句子生成2 提交后生成
    不知道你会不会用HashMap
    HashMap hm = new HashMap();
    hm.putAll(request.getParameterMap());
    Set st = hm.entrySet();
    Iterator it = st.iterator();
    while(it.hasNext()){
    Map.Entry me = (Map.Entry)it.next();
    String[] a = (String[]) me.getValue();
    out.println(me.getKey());
    out.println(a[0]); //判断a.length然后写
    out.println("</br>");
    }
      

  9.   

    以下是我写的JavaBeans://属于spoa.control的一个方法
    public String user_modify(String s)
    {
       String s3 = "";
       s3 = String.valueOf(String.valueOf(s3)).concat("<table id=\"userRl\" style=\"display:none\" width=\"90%\" cellpadding=\"0\" cellspacing=\"0\" border=\"1\" bordercolorDark=\"white\" bordercolorLight=\"black\">");
       Vector vector= db.open("select prms_id,prms_name from s "); //db.open返回vector类型的数据  
       Vector vector= db.open("select prms_id,prms_name from s1 "); //db.open返回vector类型的数据  
       for(int temp=0;temp<vector.size();temp++)
       {
            String as1[]= (String[])vector.elementAt(temp);//得到数组表示的一行的数据
            String as2[]= (String[])vector.elementAt(temp);
            if(as4[0].equals(as1[0]))//如果两值相等
            {
                  s3 = String.valueOf(String.valueOf(s3)).concat("<TR class=mineu>");
                  s3 = String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(s3)))).append("<TD WIDTH=120><INPUT TYPE='checkbox' class=noBorder NAME=prms").append(" onClick='ResetOther(").append(String.valueOf(j1)).append(",").append(String.valueOf(temp)).append(")' value='").append(as1[1]).append("' CHECKED>")));
                  s3 = String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(s3)))).append("<TD WIDTH=120>").append(as1[1]).append("</TD>")));
     }else
            {
                  s3 = String.valueOf(String.valueOf(s3)).concat("<TR class=mineu>");
                  s3 = String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(s3)))).append("<TD WIDTH=120><INPUT TYPE='checkbox' class=noBorder NAME=prms").append(" onClick='ResetOther(").append(String.valueOf(j1)).append(",").append(String.valueOf(temp)).append(")' value=").append(as1[0]).append("'>")));
                  s3 = String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(s3)))).append("<TD WIDTH=120>").append(as4[1]).append("</TD>")));
            }
        } 
      s3 = String.valueOf(String.valueOf(s3)).concat("</TABLE></TD>");
      if(!s.equals(""))
        {
            s3 = String.valueOf(String.valueOf(s3)).concat("<INPUT TYPE='hidden' NAME='myaction' VALUE='update'>");
            s3 = String.valueOf(String.valueOf((new StringBuffer(String.valueOf(String.valueOf(s3)))).append("<INPUT TYPE='hidden' NAME='user_id' VALUE='").append(s).append("'>")));
        } else
         {
            s3 = String.valueOf(String.valueOf(s3)).concat("<INPUT TYPE='hidden' NAME='myaction' VALUE='add'>");
            s3 = String.valueOf(String.valueOf(s3)).concat("<INPUT TYPE='hidden' NAME='user_id' VALUE='-1'>");
         }
      if(s.equals(""))
            s3 = String.valueOf(String.valueOf(s3)).concat("<button onmouseover=\"this.className='btnMouseOver'\" onmouseout=\"this.className='btnNormal';this.blur();\" class='btnNormal' OnClick=\"doSubmit1();\">确 定</button>&nbsp;");
       else
            s3 = String.valueOf(String.valueOf(s3)).concat("<button onmouseover=\"this.className='btnMouseOver'\" onmouseout=\"this.className='btnNormal';this.blur();\" class='btnNormal' OnClick=\"doSubmit2();\">确 定</button>&nbsp;");
            s3 = String.valueOf(String.valueOf(s3)).concat("<button onmouseover=\"this.className='btnMouseOver'\" onmouseout=\"this.className='btnNormal';this.blur();\" class='btnNormal' OnClick=\"document.forms[0].reset();\">重 置</button>&nbsp;");
            s3 = String.valueOf(String.valueOf(s3)).concat("<button onmouseover=\"this.className='btnMouseOver'\" onmouseout=\"this.className='btnNormal';this.blur();\" class='btnNormal' OnClick=\"history.back();\">返 回</button>");
            s3 = String.valueOf(String.valueOf(s3)).concat("<br>&nbsp;");
            db.freeConn();
            return s3;
    }
      

  10.   

    以下是网页显示:1.jsp
    <html>
    <body>
    <jsp:useBean id="office" class="spoa.Control" scope="page"/>//调用modify方法,该方法在spoa下的control.class下
    <%
      String user_id = (request.getParameter("user_id") == null)?"":request.getParameter("user_id");
    %>
    <FORM NAME="main_form" METHOD="post" ACTION="2.jsp"  enctype="multipart/form-data">
    <%
      out.println(office.modify(user_id));
    %>
    </FORM>
    </body>
    </html>
    那么下一个网页需要接受prms的数据然后加在数据库中
    按照你们的说法可以得到prms的值
    可是我现在可能要加上prms0,prm1,.....
    所以我想在往2.jsp传输值时把prms作成一个vector,这样在2.jsp中可以不考虑prms的数据排列,这才是我想要得答案。
    checkbox的name不一样时,而且数量不定
      

  11.   

    倒~~ 今后尽量避免把大量html代码写入javabean里面啊,看得头晕了返回一个vector 然后再jsp里面循环去