叹气,http://www.xxxx.com?aa=1&aa=2&aa=3...
这个一定不合格,呵呵,后面覆盖前面的;其实到了url上,一切都是字符串;
aa[0]=1&a[1]=2&a[2]=3 等同于 aa1=1&aa2=2&aa3=3
因为到URL上面后他的变量名是字符串;如果你想用的话,用循环就好;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
   List list = new  ArrayList();
   list.add("wang1");
   list.add("wang2");
   list.add("wang3");
   list.add("wang4");
   String a = "";
   for(int i=0;i<list.size();i++) {
   if(i==0) {
   a = a +"aa"+i+"=";
   a = a+ (String) list.get(i);
   }else {
   a = a +"&aa"+i+"=";
   a = a+ (String) list.get(i);
   }
   }
   System.out.println(a);
}
}
结果:这样的话
url:
<a href="ttp://www.xxxx.com?"+<%=a %>></a>
一切就都OK...为了回帖..我先弄个相集...弄完后,发现原来csdn也有相集,晦气,晦气

解决方案 »

  1.   

    然后对应ACTION怎么写?是写一个String aa[];就好,还是写String  aa[0],String aa[1]....
      

  2.   

    URL:会把数组转化为String去传的吧?
    如果要传集合类可以用Session,或者到Action中自己分割一下
      

  3.   

    为什么这么传数据?url中的参数,最后传递后总是被解释成字符串,所以数不数组的不打紧,能不能想办法,把这些值组合成一个字符串传到action中进行分割不就行了吗。
      

  4.   

    我试过了,成功。我用的是struts2标签。
    先说一下到底是怎么回事,我想验证前台选中的多个checkBox,然后将选中的checkBox的id作为参数传到action中
    我看了看源码,checkBox的形式是这样的
    <input type="checkbox" name="check_box" value="1" id="check_box_1">
    <input type="checkbox" name="check_box" value="1" id="check_box_20">
    <input type="checkbox" name="check_box" value="1" id="check_box_26">
    ……name相同 而id不同
    然后我的url传递方式是
    url = "checkAction.action?";
    在javascript中判断checkbox如果被选中,则添加参数到url中
    var form = document.all.item("my_form");
    var elements = form.elements["check_box"];
    for (var i=0;i<elements.length;i++){
    var e = elements[i];
    if(e.checked){
    url= url+ "&check_box="+e.value;
    }
    也就是说,我不知道别的标签是否也是这样,我用的struts2标签,而且针对checkBox类型的,如果想传递数组参数,那么url的形式是:checkAction.action?check_box=1&check_box=2&check_box=3……,而不是check_box[0]=1&check_box[1]=2……这样会报错。
    然后后台的Action中,对应的定义一个数组String check_box[];以及相应的get和set就可以获取数组中的每一个参数了
      

  5.   

    更正一下,传递到Action中的不是id,而是name